boolean firstObject = true;
final Set<Object> objects = ourTree.getRootObjects();
for (Object object : objects) {
if (object == null) continue;
final ObjectNode objectNode = ourTree.getObject2NodeMap().get(object);
if (objectNode == null) continue;
if (firstObject) {
firstObject = false;
System.err.println("***********************************************************************************************");
System.err.println("*** M E M O R Y L E A K S D E T E C T E D ***");
System.err.println("***********************************************************************************************");
System.err.println("*** ***");
System.err.println("*** The following objects were not disposed: ");
}
System.err.println("*** " + object + " of class " + object.getClass());
final Throwable trace = objectNode.getTrace();
if (trace != null) {
System.err.println("*** First seen at: ");
trace.printStackTrace();
}
}