IElementType (final PsiBuilder builder) { IElementType tokenType = builder.getTokenType(); if (tokenType != JavaTokenType.GT) return tokenType; if (builder.rawLookup(1) == JavaTokenType.GT) { if (builder.rawLookup(2) == JavaTokenType.GT) { if (builder.rawLookup(3) == JavaTokenType.EQ) { tokenType = JavaTokenType.GTGTGTEQ; } else { tokenType = JavaTokenType.GTGTGT; } } else if (builder.rawLookup(2) == JavaTokenType.EQ) { tokenType = JavaTokenType.GTGTEQ; } else { tokenType = JavaTokenType.GTGT; } } else if (builder.rawLookup(1) == JavaTokenType.EQ) { tokenType = JavaTokenType.GE; } return tokenType; }