Scalability issue --
The object reference graph is huge. The current specification's
reference callback scheme allows only two choices: recursively iterate all
references or abort. An agent may know that it doesn't want to follow a
particular reference but not want to abort the entire iteration. An example:
when using IterateOverObjectsReachableFromObject(jobject) -- each object has
a reference to its class, its class references references its class loader,
its class loader references all its classes, these classes references the
objects in their static fields, etc. This chain of reference may not be
interesting to an agent.