code: public static Method getAccessibleMethod(final Object obj, final String methodName, final Class<?>... parameterTypes) {
  		Asserts.notNull(obj, "object cannot be null.");
  
  		for (Class<?> superClass = obj.getClass(); superClass != Object.class; superClass = superClass.getSuperclass()) {
  			try {
  				Method method = superClass.getDeclaredMethod(methodName, parameterTypes);
  				method.setAccessible(true);
  				return method;
  			} catch (NoSuchMethodException e) {//NOSONAR
  				// Method不在当前类定义,继续向上转型
  			}
  		}
  		return null;
  	}
docs: 循环向上转型, 获取对象的DeclaredMethod,并强制设置为可访问.
  如向上转型到Object仍无法找到, 返回null.
  用于方法需要被多次调用的情况. 先使用本函数先取得Method,然后调用Method.invoke(Object obj, Object... args)