private TokenType calculateSchemaType() {
        if (language != LanguageType.SCHEMA) return null;
        if (isDirty) return null;

        NodeType nodeType = originalSchemaNode.getType();
        if (!(nodeType instanceof TokenType)) return null;
        return (TokenType)nodeType;
    }
SchemaNode represents a node in the AST of a file the language server parses.
The node exposes a general interface to handle different AST from different parsers.
integration/schema-language-server/language-server/src/main/java/ai/vespa/schemals/tree/SchemaNode.java