class NodeBooleanComponentOfMethod extends NodeBooleanComponent {

	final BeanWrap beanWrap;

	final Method method;

	final LiteFlowMethodEnum methodEnum;

	public NodeBooleanComponentOfMethod(BeanWrap beanWrap, Method method, LiteFlowMethodEnum methodEnum) {
		this.beanWrap = beanWrap;
		this.method = method;
		this.methodEnum = methodEnum;

		if (method.getParameterCount() > 1) {
			String methodFullName = beanWrap.clz().getName() + "::" + method.getName();
			throw new LiteFlowException("NodeIfComponent method parameter cannot be more than one: " + methodFullName);
		}

		if (method.getReturnType() != Boolean.class && method.getReturnType() != boolean.class) {
			String methodFullName = beanWrap.clz().getName() + "::" + method.getName();
			throw new LiteFlowException("NodeIfComponent method returnType can only be boolean: " + methodFullName);
		}
	}

	private Object exec() throws Exception {<FILL_FUNCTION_BODY>}

	@Override
	public boolean processBoolean() throws Exception {
		return (boolean) exec();
	}

}

		if (method.getParameterCount() == 0) {
			return method.invoke(beanWrap.get());
		}
		else {
			return method.invoke(beanWrap.get(), this);
		}
	
<methods>public non-sealed void <init>() ,public java.lang.Boolean getItemResultMetaValue(java.lang.Integer) ,public void process() throws java.lang.Exception,public abstract boolean processBoolean() throws java.lang.Exception<variables>