Buggy code:
public class SpacePreparator extends ASTVisitor { TokenManager tm ; private DefaultCodeFormatterOptions options ; public SpacePreparator ( TokenManager tokenManager , DefaultCodeFormatterOptions options ) { } @ Override public boolean visit ( TypeDeclaration node ) { } @ Override public boolean visit ( EnumDeclaration node ) { } @ Override public boolean visit ( EnumConstantDeclaration node ) { } @ Override public boolean visit ( AnonymousClassDeclaration node ) { } @ Override public boolean visit ( MethodDeclaration node ) { } private void handleTypeParameters ( List < TypeParameter > typeParameters ) { } @ Override public boolean visit ( FieldDeclaration node ) { } @ Override public boolean visit ( VariableDeclarationStatement node ) { } @ Override public boolean visit ( VariableDeclarationFragment node ) { } @ Override public void endVisit ( SingleVariableDeclaration node ) { } @ Override public boolean visit ( SwitchStatement node ) { } @ Override public boolean visit ( SwitchCase node ) { } @ Override public boolean visit ( DoStatement node ) { } @ Override public boolean visit ( WhileStatement node ) { } @ Override public boolean visit ( SynchronizedStatement node ) { } @ Override public boolean visit ( TryStatement node ) { } @ Override public boolean visit ( CatchClause node ) { } @ Override public boolean visit ( AssertStatement node ) { } @ Override public boolean visit ( ReturnStatement node ) { } @ Override public boolean visit ( ThrowStatement node ) { } @ Override public boolean visit ( LabeledStatement node ) { } @ Override public boolean visit ( AnnotationTypeDeclaration node ) { } @ Override public boolean visit ( AnnotationTypeMemberDeclaration node ) { } @ Override public boolean visit ( NormalAnnotation node ) { } @ Override public boolean visit ( MemberValuePair node ) { } @ Override public boolean visit ( SingleMemberAnnotation node ) { } @ Override public boolean visit ( MarkerAnnotation node ) { } private void handleAnnotation ( Annotation node , boolean handleParenthesis ) { } @ Override public boolean visit ( LambdaExpression node ) { } @ Override public boolean visit ( Block node ) { } @ Override public boolean visit ( IfStatement node ) { } @ Override public boolean visit ( ForStatement node ) { } @ Override public boolean visit ( VariableDeclarationExpression node ) { } @ Override public boolean visit ( EnhancedForStatement node ) { } @ Override public boolean visit ( MethodInvocation node ) { } @ Override public boolean visit ( SuperMethodInvocation node ) { } @ Override public boolean visit ( ClassInstanceCreation node ) { } @ Override public boolean visit ( ConstructorInvocation node ) { } @ Override public boolean visit ( SuperConstructorInvocation node ) { } private void handleInvocation ( ASTNode invocationNode , ASTNode nodeBeforeOpeningParen , List < Type > typeArguments ) { } @ Override public boolean visit ( Assignment node ) { } @ Override public boolean visit ( InfixExpression node ) { } @ Override public boolean visit ( PrefixExpression node ) { } @ Override public boolean visit ( PostfixExpression node ) { } private void handleOperator ( String operator , ASTNode nodeAfter , boolean spaceBefore , boolean spaceAfter ) { } @ Override public boolean visit ( ParenthesizedExpression node ) { } @ Override public boolean visit ( CastExpression node ) { } @ Override public boolean visit ( IntersectionType node ) { } @ Override public boolean visit ( ConditionalExpression node ) { } @ Override public boolean visit ( ArrayType node ) { } @ Override public boolean visit ( ArrayAccess node ) { } @ Override public boolean visit ( ArrayCreation node ) { } @ Override public boolean visit ( ArrayInitializer node ) { } @ Override public boolean visit ( ParameterizedType node ) { } @ Override public boolean visit ( TypeParameter node ) { } @ Override public boolean visit ( WildcardType node ) { } @ Override public boolean visit ( UnionType node ) { } @ Override public boolean visit ( Dimension node ) { } @ Override public boolean visit ( TypeMethodReference node ) { } @ Override public boolean visit ( ExpressionMethodReference node ) { } @ Override public boolean visit ( SuperMethodReference node ) { } @ Override public boolean visit ( CreationReference node ) { } @ Override public boolean visit ( RoleTypeDeclaration node ) { } @ Override public boolean visit ( BaseCallMessageSend node ) { } @ Override public boolean visit ( CalloutMappingDeclaration node ) { <START_BUG> handleTokenAfter ( node . getRoleMappingElement ( ) , TokenNameBINDOUT , true , true ) ; <END_BUG> if ( node . hasParameterMapping ( ) ) handleTokenAfter ( node . getBaseMappingElement ( ) , TerminalTokens . TokenNamewith , true , true ) ; return true ; } @ Override public boolean visit ( CallinMappingDeclaration node ) { } @ Override public boolean visit ( MethodSpec node ) { } @ Override public boolean visit ( ParameterMapping node ) { } @ Override public boolean visit ( GuardPredicateDeclaration node ) { } @ Override public boolean visit ( WithinStatement node ) { } private void handleTypeArguments ( List < Type > typeArguments ) { } @ Override public boolean visit ( InstanceofExpression node ) { } private void handleCommas ( List < ? extends ASTNode > nodes , boolean spaceBefore , boolean spaceAfter ) { } private void handleToken ( ASTNode node , int tokenType , boolean spaceBefore , boolean spaceAfter ) { } private void handleTokenBefore ( ASTNode node , int tokenType , boolean spaceBefore , boolean spaceAfter ) { } private void handleTokenAfter ( ASTNode node , int tokenType , boolean spaceBefore , boolean spaceAfter ) { } private void handleToken ( Token token , boolean spaceBefore , boolean spaceAfter ) { } private boolean handleEmptyParens ( ASTNode nodeBeforeParens , boolean insertSpace ) { } private boolean handleEmptyBrackets ( ASTNode nodeContainingBrackets , boolean insertSpace ) { } public void finishUp ( ) { } }

Fix:
handleTokenAfter ( node . getRoleMappingElement ( ) , ( node . isCalloutOverride ( ) ? TokenNameCALLOUT_OVERRIDE : TokenNameBINDOUT ) , true , true ) ;