code: public boolean isInstrumentableClass() {
          // Don't instrument interfaces
          if (isInterface) {
              return false;
          }
          // Don't instrument methods that are not in the source
          if (isSynthetic) {
              return false;
          }
          // Stay away from java.lang.Object
          if (classInternalName.equals("java/lang/Object")) {
              return false;
          }
          // Don't instrument dynamic proxies
          if (classInternalName.startsWith("$Proxy")) {
              return false;
          }
          // Don't instrument package-info
          if (classInternalName.endsWith("/package-info")) {
              return false;
          }
          return true;
      }
docs: Indicate whether or not the class is instrumentable. A class is
  considered instrumentable if it's:
  <ul>
  <li>not an interface
  <li>not synthetic
  <li>not a dynamic proxy
  <li>not <code>java.lang.Object</code>
  </ul>
  
  @return true if the class can be instrumented for trace.