in extscript-core-root/extscript-core/src/main/java/org/apache/myfaces/extensions/scripting/core/common/util/ReflectUtil.java [502:536]
public static Object fastExecuteStaticMethod(Class obj, String methodName, Object... varargs)
{
Class[] classes = new Class[varargs.length];
for (int cnt = 0; cnt < varargs.length; cnt++)
{
if (varargs[cnt] instanceof Cast)
{
classes[cnt] = ((Cast) varargs[cnt]).getClazz();
varargs[cnt] = ((Cast) varargs[cnt]).getValue();
} else
{
classes[cnt] = varargs[cnt].getClass();
}
}
try
{
Method m = fastGetStaticMethod(obj, methodName, classes);
return m.invoke(obj, varargs);
}
catch (NoSuchMethodException e)
{
throw new RuntimeException(e);
}
catch (InvocationTargetException e)
{
throw new RuntimeException(e);
}
catch (IllegalAccessException e)
{
throw new RuntimeException(e);
}
}