Buggy code:
public class Declaration implements Serializable { private int beginLine ; private int endLine ; private int beginColumn ; private int endColumn ; private String modifiers ; private String fullSignature ; private String signature ; private String crosscutDesignator ; private String packageName ; private String kind ; private String declaringType ; private String filename ; private String formalComment ; private Declaration [ ] declarations ; private Declaration . Handle crosscutDeclarationHandle ; private Declaration . Handle [ ] pointedToByHandles ; private Declaration . Handle [ ] pointsToHandles ; private transient Declaration crosscutDeclaration ; private transient Declaration [ ] pointedToBy = null ; private transient Declaration [ ] pointsTo = null ; private Declaration parentDeclaration = null ; private IProgramElement node ; public Declaration ( int beginLine , int endLine , int beginColumn , int endColumn , String modifiers , String signature , String fullSignature , String crosscutDesignator , String declaringType , String kind , String filename , String formalComment , String packageName , IProgramElement node ) { } public int getBeginLine ( ) { } public int getEndLine ( ) { } public int getBeginColumn ( ) { } public int getEndColumn ( ) { } public String getModifiers ( ) { } public String getFullSignature ( ) { } public String getSignature ( ) { } public String getPackageName ( ) { } public String getCrosscutDesignator ( ) { } public Declaration getParentDeclaration ( ) { } public Declaration getCrosscutDeclaration ( ) { } public void setCrosscutDeclaration ( Declaration _crosscutDeclaration ) { } public String getDeclaringType ( ) { } public String getKind ( ) { } public String getFilename ( ) { } public String getFormalComment ( ) { } public Declaration [ ] getDeclarations ( ) { } public void setDeclarations ( Declaration [ ] decs ) { } public void setPointedToBy ( Declaration [ ] decs ) { } public void setPointsTo ( Declaration [ ] decs ) { } public Declaration [ ] getPointedToBy ( ) { } public Declaration [ ] getPointsTo ( ) { } private Declaration [ ] filterTypes ( Declaration [ ] a_decs ) { } public Declaration [ ] getTargets ( ) { } private Declaration . Handle getHandle ( ) { } private Declaration [ ] resolveHandles ( Declaration . Handle [ ] handles ) { } private Declaration . Handle [ ] getHandles ( Declaration [ ] declarations ) { } private void writeObject ( ObjectOutputStream out ) throws IOException { } public Declaration [ ] getCrosscutDeclarations ( ) { } public Declaration [ ] getAdviceDeclarations ( ) { } public Declaration [ ] getIntroductionDeclarations ( ) { } private Declaration [ ] getDeclarationsHelper ( String kind ) { } public boolean isType ( ) { <START_BUG> return ( ( getKind ( ) . equals ( "interface" ) ) || ( getKind ( ) . equals ( "class" ) ) ) || ( getKind ( ) . equals ( "aspect" ) ) ; <END_BUG> } public boolean hasBody ( ) { } public boolean isIntroduced ( ) { } public boolean hasSignature ( ) { } private static class Handle implements Serializable { public String filename ; public int line ; public int column ; public Handle ( String filename , int line , int column ) { } public Declaration resolve ( ) { } } public IProgramElement getNode ( ) { } }

Fix:
return ( ( ( getKind ( ) . equals ( "interface" ) ) || ( getKind ( ) . equals ( "class" ) ) ) || ( getKind ( ) . equals ( "aspect" ) ) ) || ( getKind ( ) . equals ( "enum" ) ) ;