private Conditions readConditions(final SelectionstatementContext selectionstatementContext) { final ParseTree conditionTree = selectionstatementContext.getChild(2); final Element element = conditionTree.accept(new ConditionContextVisitor(visitor)); final Optional<String> conditionString = extractCondition(conditionTree); if(element == null){ visitor.readSupportedFunctionWithWarn(LR_METHOD_IF, selectionstatementContext.getParent(), "Condition not supported " + conditionString.orElse("")); } else { visitor.readSupportedFunction(LR_METHOD_IF, selectionstatementContext.getParent()); } final String operand1; if(element instanceof CustomAction){ operand1 = getVariableSyntax((CustomAction)element); } else { operand1 = extractBooleanCondition(conditionTree); } final Condition condition = ImmutableCondition.builder() .operand1(operand1) .operator(Condition.Operator.EQUALS) .operand2(conditionString.orElse("").startsWith("!") ? Boolean.FALSE.toString() : Boolean.TRUE.toString()) .build(); final ImmutableConditions.Builder conditionsBuilder = ImmutableConditions.builder(); conditionsBuilder.addConditions(condition); conditionsBuilder.description(conditionString); conditionsBuilder.matchType(Conditions.MatchType.ANY); return conditionsBuilder.build(); }