private static Class<?>[] getParameterTypes(Object[] params) {
    Class<?>[] parameterTypes = new Class<?>[params.length];
    for (int i = 0; i < params.length; i++) {
      parameterTypes[i] = params[i].getClass();
    }
    return parameterTypes;
  }
Get and invoke the target method from the given object with given parameters
@param obj        the object to get and invoke method from
@param methodName the name of the method to invoke
@param params     the parameters for the method to invoke
@return the return value of the method invocation
hbase-common/src/main/java/org/apache/hadoop/hbase/util/ReflectionUtils.java