private boolean handleSpecialCases(SchemaNode node, SchemaNode parent, List<Diagnostic> diagnostics) {
        // import ... as <DEFINITION>
        if (parent.isASTInstance(importField.class) && node.getPreviousSibling() != null && node.getPreviousSibling().isASTInstance(AS.class)) {
            createSymbol(node, SymbolType.FIELD);
            return true;
        }

        // function <FUNCTION-DEFINITION>(<PARAMETER-DEFINITION>, <PARAMETER-DEFINITION>, ...) { ... }
        //
        if (parent.indexOf(node) >= 3 && parent.isASTInstance(functionElm.class) && node.isASTInstance(identifierStr.class)) {
            createSymbol(node, SymbolType.PARAMETER);
            return true;
        }

        // Prevent inheritance from being marked as a definition
        // <keyword> <DEFINITION> inherits <NOT-DEFINITION>, <NOT-DEFINITION> ...
        if (!parent.isASTInstance(onnxModelOutput.class) && parent.indexOf(node) >= 3) {
            return true;
        }

        return false;
    }
@return true if it was a special case that should require early return of {@link IdentifySymbolDefinition#identify}.
integration/schema-language-server/language-server/src/main/java/ai/vespa/schemals/schemadocument/parser/schema/IdentifySymbolDefinition.java