void (RegExpConditional conditional) { if (!myLanguageHosts.supportsConditionals(conditional)) { myHolder.newAnnotation(HighlightSeverity.ERROR, RegExpBundle.message("error.conditionals.are.not.supported.in.this.regex.dialect")).create(); } final RegExpAtom condition = conditional.getCondition(); if (!myLanguageHosts.supportConditionalCondition(condition)) { if (condition instanceof RegExpGroup) { myHolder.newAnnotation(HighlightSeverity.ERROR, RegExpBundle.message("error.lookaround.conditions.in.conditionals.not.supported.in.this.regex.dialect")) .range(condition) .create(); } else if (condition != null) { final ASTNode child = condition.getNode().getFirstChildNode(); final IElementType type = child.getElementType(); if (type == RegExpTT.QUOTED_CONDITION_BEGIN || type == RegExpTT.GROUP_BEGIN || type == RegExpTT.ANGLE_BRACKET_CONDITION_BEGIN) { myHolder.newAnnotation(HighlightSeverity.ERROR, RegExpBundle.message("error.this.kind.group.reference.condition.not.supported.in.this.regex.dialect")) .range(condition) .create(); } } } }