Buggy code:
private void replaceOperation ( int posBeforeOperation , String newOperation , TextEditGroup editGroup ) { } private void rewriteOperation ( ASTNode parent , StructuralPropertyDescriptor property , int posBeforeOperation ) { } public void postVisit ( ASTNode node ) { } public void preVisit ( ASTNode node ) { } final void doCopySourcePreVisit ( RewriteEventStore . CopySourceInfo [ ] infos , Stack nodeEndStack ) { } final void doCopySourcePostVisit ( ASTNode node , Stack nodeEndStack ) { } public boolean visit ( CompilationUnit node ) { } public boolean visit ( TypeDeclaration node ) { } private void rewriteReturnType ( MethodDeclaration node , boolean isConstructor , boolean isConstructorChange ) { } public boolean visit ( MethodDeclaration node ) { } public boolean visit ( Block node ) { } public boolean visit ( ReturnStatement node ) { } public boolean visit ( AnonymousClassDeclaration node ) { } public boolean visit ( ArrayAccess node ) { } public boolean visit ( ArrayCreation node ) { } private Type getElementType ( ArrayType parent ) { } private int getDimensions ( ArrayType parent ) { } public boolean visit ( ArrayInitializer node ) { } public boolean visit ( ArrayType node ) { } public boolean visit ( AssertStatement node ) { } public boolean visit ( Assignment node ) { } public boolean visit ( BooleanLiteral node ) { } public boolean visit ( BreakStatement node ) { } public boolean visit ( CastExpression node ) { } public boolean visit ( CatchClause node ) { } public boolean visit ( CharacterLiteral node ) { } public boolean visit ( ClassInstanceCreation node ) { } public boolean visit ( ConditionalExpression node ) { } public boolean visit ( ConstructorInvocation node ) { } public boolean visit ( ContinueStatement node ) { } public boolean visit ( DoStatement node ) { } public boolean visit ( EmptyStatement node ) { } public boolean visit ( ExpressionStatement node ) { } public boolean visit ( FieldAccess node ) { } public boolean visit ( FieldDeclaration node ) { } public boolean visit ( ForStatement node ) { } public boolean visit ( IfStatement node ) { } public boolean visit ( ImportDeclaration node ) { } public boolean visit ( InfixExpression node ) { } public boolean visit ( Initializer node ) { } public boolean visit ( InstanceofExpression node ) { } public boolean visit ( Javadoc node ) { } public boolean visit ( LabeledStatement node ) { } public boolean visit ( MethodInvocation node ) { } public boolean visit ( NullLiteral node ) { } public boolean visit ( NumberLiteral node ) { } public boolean visit ( PackageDeclaration node ) { } public boolean visit ( ParenthesizedExpression node ) { } public boolean visit ( PostfixExpression node ) { } public boolean visit ( PrefixExpression node ) { } public boolean visit ( PrimitiveType node ) { } public boolean visit ( QualifiedName node ) { } public boolean visit ( SimpleName node ) { } public boolean visit ( SimpleType node ) { } public boolean visit ( SingleVariableDeclaration node ) { } public boolean visit ( StringLiteral node ) { } public boolean visit ( SuperConstructorInvocation node ) { } public boolean visit ( SuperFieldAccess node ) { } public boolean visit ( SuperMethodInvocation node ) { } public boolean visit ( SwitchCase node ) { } private class SwitchListRewriter extends ASTRewriteAnalyzer . ParagraphListRewriter { public SwitchListRewriter ( int initialIndent ) { } protected int getNodeIndent ( int nodeIndex ) { } } public boolean visit ( SwitchStatement node ) { } public boolean visit ( SynchronizedStatement node ) { } public boolean visit ( ThisExpression node ) { } public boolean visit ( ThrowStatement node ) { } public boolean visit ( TryStatement node ) { } public boolean visit ( TypeDeclarationStatement node ) { } public boolean visit ( TypeLiteral node ) { } public boolean visit ( VariableDeclarationExpression node ) { } public boolean visit ( VariableDeclarationFragment node ) { } public boolean visit ( VariableDeclarationStatement node ) { } public boolean visit ( WhileStatement node ) { } public boolean visit ( MemberRef node ) { } public boolean visit ( MethodRef node ) { } public boolean visit ( MethodRefParameter node ) { } public boolean visit ( TagElement node ) { } private int findTagNameStart ( ASTNode tagNode ) { } public boolean visit ( TextElement node ) { } public boolean visit ( AnnotationTypeDeclaration node ) { } public boolean visit ( AnnotationTypeMemberDeclaration node ) { } public boolean visit ( EnhancedForStatement node ) { } public boolean visit ( EnumConstantDeclaration node ) { } public boolean visit ( EnumDeclaration node ) { } public boolean visit ( MarkerAnnotation node ) { } public boolean visit ( MemberValuePair node ) { } public boolean visit ( Modifier node ) { } public boolean visit ( NormalAnnotation node ) { if ( ! ( hasChildrenChanges ( node ) ) ) { return doVisitUnchangedChildren ( node ) ; } int pos = rewriteRequiredNode ( node , NormalAnnotation . TYPE_NAME_PROPERTY ) ; if ( isChanged ( node , NormalAnnotation . VALUES_PROPERTY ) ) { try { <START_BUG> int startOffset = getScanner ( ) . getTokenEndOffset ( ITerminalSymbols . TokenNameLESS , pos ) ; <END_BUG> rewriteNodeList ( node , NormalAnnotation . VALUES_PROPERTY , startOffset , "" , ",<seq2seq4repair_space>" ) ; } catch ( CoreException e ) { handleException ( e ) ; } } else { doVisit ( node , NormalAnnotation . VALUES_PROPERTY , 0 ) ; } return false ; } public boolean visit ( ParameterizedType node ) { } public boolean visit ( QualifiedType node ) { } public boolean visit ( SingleMemberAnnotation node ) { } public boolean visit ( TypeParameter node ) { } public boolean visit ( WildcardType node ) { } final void handleException ( Throwable e ) { } }

Fix:
int startOffset = getScanner ( ) . getTokenEndOffset ( ITerminalSymbols . TokenNameLPAREN , pos ) ;