code: public static void callProc(Object instance, Class<?> type, String methodName, Class<?>[] types, Object... args) {
  		try {
  			final Method method = type.getDeclaredMethod(methodName, types);
  			method.setAccessible(true);
  			method.invoke(instance, args);
  		} catch (Exception exception) {
  			throw new Error(exception);
  		}
  	}
docs: Call the method.
  
  @param instance the instance to call on.
  @param type the type.
  @param methodName the name of the method.
  @param types the types of the parameters.
  @param args the values of the arguments.