public Parser classSecondaryCondition() {
        if (classSecondaryConditionParser == null) {
           FutureParser future = scoped("classSecondaryCondition");
           classSecondaryConditionParser = future;
           future.setParser(
               sequence(
                   optional(
                       token("IS")
                   ),
                   optional(
                       negationOp()
                   ),
                   classType()
               )
           );
        }

        return classSecondaryConditionParser;
    }