int (Editor editor, int oldTail, boolean space_within_cast_parentheses) { int offset = -1; final HighlighterIterator iterator = editor.getHighlighter().createIterator(oldTail); while (!iterator.atEnd()) { final IElementType tokenType = iterator.getTokenType(); if (TokenSets.WHITE_SPACES_OR_COMMENTS.contains(tokenType)) { iterator.advance(); continue; } if (tokenType == GroovyTokenTypes.mRPAREN) { offset = iterator.getEnd(); } break; } if (offset != -1) return offset; offset = oldTail; if (space_within_cast_parentheses) { offset = TailType.insertChar(editor, oldTail, ' '); } return TailType.insertChar(editor, offset, ')'); }