code: public boolean isInstrumentableMethod(int access, String methodName, String descriptor) {
          if ((access & Opcodes.ACC_SYNTHETIC) != 0) {
              return false;
          }
          if ((access & Opcodes.ACC_NATIVE) != 0) {
              return false;
          }
          if ((access & Opcodes.ACC_ABSTRACT) != 0) {
              return false;
          }
          if (methodName.equals("toString") && descriptor.equals("()Ljava/lang/String;")) {
              return false;
          }
          if (methodName.equals("hashCode") && descriptor.equals("()I")) {
              return false;
          }
          return true;
      }
docs: Indicate whether or not the target method is instrumentable.
  
  @param access
  the method property flags
  @param methodName
  the name of the method
  
  @return true if the method is not synthetic, is not native, and is
  not named toString or hashCode.