code: public Object intercept(Object object, Method method, Object[] args, MethodProxy proxy) throws Throwable {
          if (isFinalizeMethod(method)) {
              // swallow finalize call
              return null;
          } else if (isEqualsMethod(method)) {
              return equals(args[0]) ? Boolean.TRUE : Boolean.FALSE;
          } else if (isHashCodeMethod(method)) {
              return new Integer(hashCode());
          } else if (isToStringMethod(method)) {
              return toString();
          } else if (isGetOverwritesMethod(method)) {
              return getOverwrites();
          } else if (isGetInjectionSourceMethod(method)) {
              return getInjectionSource();
          }
  
          return proxy.invokeSuper(object, args);
      }
docs: {@inheritDoc}