Argument[] arguments = getArguments(rule, argumentsMetadata);
if (methodMetadata.getMethodType() == MethodMetadata.METHOD_CONDITION) {
assertReturnType(pojoMethod, boolean.class);
rule.addCondition(
new PojoCondition(new RuleReflectMethod(rule, pojo, pojoMethod, arguments)));
log.info("Condition method added to rule: " + pojoMethod.toString());
} else if (methodMetadata.getMethodType() == MethodMetadata.METHOD_CONSEQUENCE) {
conditionRuleReflectMethods.add(
new RuleReflectMethod(rule, pojo, pojoMethod, arguments));
log.info("Consequence method added to rule: " + pojoMethod.toString());
} else if (methodMetadata.getMethodType() == MethodMetadata.OBJECT_CONDITION) {
if (arguments.length != 0) {
throw new InvalidPojoConditionException("Rule pojo condition must not have arguments"
+ ": method = " + pojoMethod + ", arguments = " + arguments);