code: public static MethodInstance getMethodInstance(Object obj, Class clazz, String methodName, Object[] args) throws NoSuchMethodException {
  	MethodInstance mi = getMethodInstanceEL(obj, clazz, KeyImpl.getInstance(methodName), args);
  	if (mi != null) return mi;
  
  	Class[] classes = getClasses(args);
  	// StringBuilder sb=null;
  	JavaObject jo;
  	Class c;
  	ConstructorInstance ci;
  	for (int i = 0; i < classes.length; i++) {
  	    if (args[i] instanceof JavaObject) {
  		jo = (JavaObject) args[i];
  		c = jo.getClazz();
  		ci = Reflector.getConstructorInstance(c, new Object[0], null);
  		if (ci == null) {
  
  		    throw new NoSuchMethodException("The " + pos(i + 1) + " parameter of " + methodName + "(" + getDspMethods(classes) + ") ia a object created "
  			    + "by the createObject function (JavaObject/JavaProxy). This object has not been instantiated because it does not have a constructor "
  			    + "that takes zero arguments. " + Constants.NAME
  			    + " cannot instantiate it for you, please use the .init(...) method to instantiate it with the correct parameters first");
  
  		}
  	    }
  	}
  	/*
  	 * the argument list contains objects created by createObject, that are no instantiated
  	 * (first,third,10th) and because this object have no constructor taking no arguments, Lucee cannot
  	 * instantiate them. you need first to instantiate this objects.
  	 */
  	throw new NoSuchMethodException("No matching Method for " + methodName + "(" + getDspMethods(classes) + ") found for " + Caster.toTypeName(clazz));
      }
docs: gets the MethodInstance matching given Parameter
  
  @param clazz Class Of the Method to get
  @param methodName Name of the Method to get
  @param args Arguments of the Method to get
  @return return Matching Method
  @throws NoSuchMethodException
  @throws PageException