Buggy code:
public boolean match ( ConditionalExpression node , Object other ) { } public boolean match ( ConstructorInvocation node , Object other ) { } public boolean match ( ContinueStatement node , Object other ) { } public boolean match ( DoStatement node , Object other ) { } public boolean match ( EmptyStatement node , Object other ) { } public boolean match ( EnhancedForStatement node , Object other ) { } public boolean match ( EnumConstantDeclaration node , Object other ) { } public boolean match ( EnumDeclaration node , Object other ) { } public boolean match ( ExpressionStatement node , Object other ) { } public boolean match ( FieldAccess node , Object other ) { } public boolean match ( FieldDeclaration node , Object other ) { } public boolean match ( ForStatement node , Object other ) { } public boolean match ( IfStatement node , Object other ) { } public boolean match ( ImportDeclaration node , Object other ) { } public boolean match ( InfixExpression node , Object other ) { } public boolean match ( InstanceofExpression node , Object other ) { } public boolean match ( Initializer node , Object other ) { } public boolean match ( Javadoc node , Object other ) { } private boolean compareDeprecatedComment ( Javadoc first , Javadoc second ) { } public boolean match ( LabeledStatement node , Object other ) { } public boolean match ( LineComment node , Object other ) { } public boolean match ( MarkerAnnotation node , Object other ) { } public boolean match ( MemberRef node , Object other ) { } public boolean match ( MemberValuePair node , Object other ) { } public boolean match ( MethodRef node , Object other ) { } public boolean match ( MethodRefParameter node , Object other ) { } public boolean match ( MethodDeclaration node , Object other ) { } public boolean match ( MethodInvocation node , Object other ) { } public boolean match ( Modifier node , Object other ) { } public boolean match ( NormalAnnotation node , Object other ) { } public boolean match ( NullLiteral node , Object other ) { } public boolean match ( NumberLiteral node , Object other ) { } public boolean match ( PackageDeclaration node , Object other ) { } public boolean match ( ParameterizedType node , Object other ) { } public boolean match ( ParenthesizedExpression node , Object other ) { } public boolean match ( PostfixExpression node , Object other ) { } public boolean match ( PrefixExpression node , Object other ) { } public boolean match ( PrimitiveType node , Object other ) { } public boolean match ( QualifiedName node , Object other ) { } public boolean match ( QualifiedType node , Object other ) { } public boolean match ( ReturnStatement node , Object other ) { } public boolean match ( SimpleName node , Object other ) { } public boolean match ( SimpleType node , Object other ) { } public boolean match ( SingleMemberAnnotation node , Object other ) { } public boolean match ( SingleVariableDeclaration node , Object other ) { if ( ! ( other instanceof SingleVariableDeclaration ) ) { return false ; } SingleVariableDeclaration o = ( ( SingleVariableDeclaration ) ( other ) ) ; int level = node . getAST ( ) . apiLevel ; if ( level == ( LEVEL_2_0 ) ) { if ( ( node . getModifiers ( ) ) != ( o . getModifiers ( ) ) ) { return false ; } } if ( level >= ( LEVEL_3_0 ) ) { if ( ! ( safeSubtreeListMatch ( node . modifiers ( ) , o . modifiers ( ) ) ) ) { return false ; } <START_BUG> if ( ( node . isVariableArity ( ) ) != ( o . isVariableArity ( ) ) ) { <END_BUG> return false ; } } return ( ( ( safeSubtreeMatch ( node . getType ( ) , o . getType ( ) ) ) && ( safeSubtreeMatch ( node . getName ( ) , o . getName ( ) ) ) ) && ( ( node . getExtraDimensions ( ) ) == ( o . getExtraDimensions ( ) ) ) ) && ( safeSubtreeMatch ( node . getInitializer ( ) , o . getInitializer ( ) ) ) ; } public boolean match ( StringLiteral node , Object other ) { } public boolean match ( SuperConstructorInvocation node , Object other ) { } public boolean match ( SuperFieldAccess node , Object other ) { } public boolean match ( SuperMethodInvocation node , Object other ) { } public boolean match ( SwitchCase node , Object other ) { } public boolean match ( SwitchStatement node , Object other ) { } public boolean match ( SynchronizedStatement node , Object other ) { } public boolean match ( TagElement node , Object other ) { } public boolean match ( TextElement node , Object other ) { } public boolean match ( ThisExpression node , Object other ) { } public boolean match ( ThrowStatement node , Object other ) { } public boolean match ( TryStatement node , Object other ) { } public boolean match ( TypeDeclaration node , Object other ) { } public boolean match ( TypeDeclarationStatement node , Object other ) { } public boolean match ( TypeLiteral node , Object other ) { } public boolean match ( TypeParameter node , Object other ) { } public boolean match ( VariableDeclarationExpression node , Object other ) { } public boolean match ( VariableDeclarationFragment node , Object other ) { } public boolean match ( VariableDeclarationStatement node , Object other ) { } public boolean match ( WhileStatement node , Object other ) { } public boolean match ( WildcardType node , Object other ) { } }

Fix:
if ( ( node . isVarargs ( ) ) != ( o . isVarargs ( ) ) ) {