public Builder hiddenImpl(Class<?> targetClass, String methodName, Class<?>... argClasses) {
      // don't do any work if an implementation has been found
      if (method != null) {
        return this;
      }

      try {
        Method hidden = targetClass.getDeclaredMethod(methodName, argClasses);
        AccessController.doPrivileged(new MakeAccessible(hidden));
        this.method = new UnboundMethod(hidden, name);
      } catch (SecurityException | NoSuchMethodException e) {
        // unusable or not the right implementation
      }
      return this;
    }
Checks for a method implementation.

@param targetClass a class instance
@param methodName name of a method (different from constructor)
@param argClasses argument classes for the method
@return this Builder for method chaining
@see java.lang.Class#forName(String)
@see java.lang.Class#getMethod(String, Class[])
amoro-common/src/main/java/org/apache/amoro/utils/DynMethods.java