* @return whether the given object has a debug target that supports heap
* walking
*/
public static boolean supportsHeapWalking(Object object) {
if (object instanceof IDebugElement) {
IDebugTarget target = ((IDebugElement) object).getDebugTarget();
if (target instanceof IJavaDebugTarget) {
return ((IJavaDebugTarget) target).supportsInstanceRetrieval();
} else if (target != null) {
Object adapter = target.getAdapter(IJavaDebugTarget.class);
if (adapter instanceof IJavaDebugTarget) {
return ((IJavaDebugTarget) adapter).supportsInstanceRetrieval();
}
}
}