TokenType currentType = currentToken.getType();
if (currentType == TokenType.GT) {
return true;
} else if (currentType == TokenType.GT_GT) {
int offset = currentToken.getOffset();
Token first = new Token(TokenType.GT, offset);
Token second = new Token(TokenType.GT, offset + 1);
second.setNext(currentToken.getNext());
first.setNext(second);
currentToken.getPrevious().setNext(first);
currentToken = first;
return true;
} else if (currentType == TokenType.GT_EQ) {
int offset = currentToken.getOffset();
Token first = new Token(TokenType.GT, offset);
Token second = new Token(TokenType.EQ, offset + 1);
second.setNext(currentToken.getNext());
first.setNext(second);
currentToken.getPrevious().setNext(first);
currentToken = first;
return true;
} else if (currentType == TokenType.GT_GT_EQ) {
int offset = currentToken.getOffset();
Token first = new Token(TokenType.GT, offset);
Token second = new Token(TokenType.GT, offset + 1);
Token third = new Token(TokenType.EQ, offset + 2);
third.setNext(currentToken.getNext());
second.setNext(third);
first.setNext(second);
currentToken.getPrevious().setNext(first);
currentToken = first;
return true;