void () { super.advance(); if (getTokenText().contains("\n")) { myState = AdapterState.Initial; } else { if (getCurrentPosition().getState() > 0) { myState = AdapterState.Header; } else { final IElementType tokenType = getTokenType(); switch (myState) { case Initial -> { if (tokenType == EditorConfigElementTypes.IDENTIFIER) { myState = AdapterState.Key; } } case Header -> myState = AdapterState.Initial; case Key -> { if (tokenType == EditorConfigElementTypes.SEPARATOR) { myState = AdapterState.Value; } } case Value -> { } } } } }