 public static class ThreadResolver implements IClassSpecificNameResolver
   {
      public String resolve(IObject obj) throws SnapshotException
      {
         IObject name = (IObject) obj.resolveValue("name");
         return name != null ? name.getClassSpecificName() : null;
      }
  }
</span></pre>
</p>
The <samp>@Subject</samp> tells the Memory Analyzer, to use this name resolver
for all instances of type "java.lang.Thread". The implementation then extracts
the name attribute (which is a String or a 