long[] params = new long[paramTypes.length+1];
for(int i=params.length-1; i>0; i++){
int pID = XPrimitive.getPrimitiveID(paramTypes[i-1].getXClass());
params[i] = methodExecutor.pop(pID);
if(pID==XPrimitive.OBJECT){
XObject obj = vm.getObjectProvider().getObject(params[i]);
XChecks.checkCast(obj.getXClass(), paramTypes[i-1]);
}
}
params[0] = methodExecutor.oPop();
XObject _this = vm.getObjectProvider().getObject(params[0]);
method.getMethod(_this);
thread.call(method, solvedGenerics, params);
}