public Parser primaryCondition() {
        if (primaryConditionParser == null) {
           FutureParser future = scoped("primaryCondition");
           primaryConditionParser = future;
           future.setParser(
               sequence(
                   optional(
                       negationOp()
                   ),
                   primaryCondDef()
               )
           );
        }

        return primaryConditionParser;
    }