<?xml version="1.0" encoding="utf-8"?>
<!--

    Copyright 2005-2026 the original author or authors.

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        https://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<BugCollection sequence='0' release='' analysisTimestamp='1755975561780' version='4.9.4' timestamp='1755975551919'><Project projectName='basic-1'><Jar>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it\basic-1\target\classes</Jar><Jar>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it\basic-1\target\test-classes</Jar><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it\basic-1\target\test-classes</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\com\github\spotbugs\spotbugs\4.9.4\spotbugs-4.9.4.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\ow2\asm\asm\9.8\asm-9.8.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\ow2\asm\asm-analysis\9.8\asm-analysis-9.8.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\ow2\asm\asm-commons\9.8\asm-commons-9.8.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\ow2\asm\asm-tree\9.8\asm-tree-9.8.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\ow2\asm\asm-util\9.8\asm-util-9.8.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\apache\bcel\bcel\6.10.0\bcel-6.10.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\com\github\stephenc\jcip\jcip-annotations\1.0-1\jcip-annotations-1.0-1.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\dom4j\dom4j\2.2.0\dom4j-2.2.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\apache\commons\commons-lang3\3.18.0\commons-lang3-3.18.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\apache\commons\commons-text\1.14.0\commons-text-1.14.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\com\github\spotbugs\spotbugs-annotations\4.9.4\spotbugs-annotations-4.9.4.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\com\google\code\gson\gson\2.13.1\gson-2.13.1.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\com\google\errorprone\error_prone_annotations\2.38.0\error_prone_annotations-2.38.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\jaxen\jaxen\2.0.0\jaxen-2.0.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\net\sf\saxon\Saxon-HE\12.8\Saxon-HE-12.8.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\xmlresolver\xmlresolver\5.3.3\xmlresolver-5.3.3.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\xmlresolver\xmlresolver\5.3.3\xmlresolver-5.3.3-data.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\apache\logging\log4j\log4j-core\2.25.1\log4j-core-2.25.1.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\apache\logging\log4j\log4j-api\2.25.1\log4j-api-2.25.1.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\junit\jupiter\junit-jupiter-engine\5.13.4\junit-jupiter-engine-5.13.4.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\junit\platform\junit-platform-engine\1.13.4\junit-platform-engine-1.13.4.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\opentest4j\opentest4j\1.3.0\opentest4j-1.3.0.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\junit\platform\junit-platform-commons\1.13.4\junit-platform-commons-1.13.4.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\junit\jupiter\junit-jupiter-api\5.13.4\junit-jupiter-api-5.13.4.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\apiguardian\apiguardian-api\1.1.2\apiguardian-api-1.1.2.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\org\slf4j\slf4j-api\2.0.17\slf4j-api-2.0.17.jar</AuxClasspathEntry><AuxClasspathEntry>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\local-repo\jakarta\servlet\jakarta.servlet-api\6.1.0\jakarta.servlet-api-6.1.0.jar</AuxClasspathEntry><SrcDir>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it-src-spotbugs\spotbugsTestCases\src\java</SrcDir><SrcDir>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it\basic-1\target\generated-sources\annotations</SrcDir><SrcDir>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\src\it-src\test\java</SrcDir><SrcDir>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it\basic-1\target\generated-test-sources\test-annotations</SrcDir><WrkDir>C:\Users\Jeremy\GitHub\spotbugs-maven-plugin\target\it\basic-1\target</WrkDir></Project><BugInstance instanceOccurrenceNum='0' instanceHash='f13a0c0aa84d86190af997c58f38915e' rank='17' abbrev='Eq' category='STYLE' priority='2' type='EQ_UNUSUAL' instanceOccurrenceMax='0'><ShortMessage>Unusual equals method</ShortMessage><LongMessage>AbstractMissingHashCode$Concrete.equals(Object) is unusual</LongMessage><Class classname='AbstractMissingHashCode$Concrete' primary='true'><SourceLine classname='AbstractMissingHashCode$Concrete' start='20' end='36' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[lines 20-36]</Message></SourceLine><Message>In class AbstractMissingHashCode$Concrete</Message></Class><Method isStatic='false' classname='AbstractMissingHashCode$Concrete' signature='(Ljava/lang/Object;)Z' name='equals' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='77' classname='AbstractMissingHashCode$Concrete' start='33' end='36' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java' startBytecode='0'></SourceLine><Message>In method AbstractMissingHashCode$Concrete.equals(Object)</Message></Method><SourceLine synthetic='true' endBytecode='77' classname='AbstractMissingHashCode$Concrete' start='33' end='36' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java' startBytecode='0'><Message>At AbstractMissingHashCode.java:[lines 33-36]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='4360b27c3c177819330089e51a9b8b24' cweid='563' rank='17' abbrev='UuF' category='STYLE' priority='2' type='UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unused public or protected field</ShortMessage><LongMessage>Unused public or protected field: AbstractMissingHashCode$Concrete.z</LongMessage><Class classname='AbstractMissingHashCode$Concrete' primary='true'><SourceLine classname='AbstractMissingHashCode$Concrete' start='20' end='36' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[lines 20-36]</Message></SourceLine><Message>In class AbstractMissingHashCode$Concrete</Message></Class><Field isStatic='false' classname='AbstractMissingHashCode$Concrete' signature='I' name='z' primary='true'><SourceLine classname='AbstractMissingHashCode$Concrete' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>In AbstractMissingHashCode.java</Message></SourceLine><Message>Field AbstractMissingHashCode$Concrete.z</Message></Field><SourceLine synthetic='true' classname='AbstractMissingHashCode$Concrete' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>In AbstractMissingHashCode.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='82b43f1f528e07c5078f339f3c7851bf' rank='17' abbrev='Eq' category='STYLE' priority='2' type='EQ_DOESNT_OVERRIDE_EQUALS' instanceOccurrenceMax='0'><ShortMessage>Class doesn't override equals in superclass</ShortMessage><LongMessage>AbstractMissingHashCode$ConcreteMissingEquals doesn't override AbstractMissingHashCode$Concrete.equals(Object)</LongMessage><Class classname='AbstractMissingHashCode$ConcreteMissingEquals' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='AbstractMissingHashCode$ConcreteMissingEquals' start='41' end='41' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[line 41]</Message></SourceLine><Message>In class AbstractMissingHashCode$ConcreteMissingEquals</Message></Class><SourceLine endBytecode='0' classname='AbstractMissingHashCode$ConcreteMissingEquals' start='1' end='1' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java' startBytecode='0' primary='true'><Message>At AbstractMissingHashCode.java:[line 1]</Message></SourceLine><Method isStatic='false' role='METHOD_DID_YOU_MEAN_TO_OVERRIDE' classname='AbstractMissingHashCode$Concrete' signature='(Ljava/lang/Object;)Z' name='equals' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='77' classname='AbstractMissingHashCode$Concrete' start='33' end='36' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java' startBytecode='0'></SourceLine><Message>Did you intend to override AbstractMissingHashCode$Concrete.equals(Object)</Message></Method></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='1293f9b66672bbf6c7050bd63dbaaf8a' cweid='563' rank='18' abbrev='UuF' category='PERFORMANCE' priority='2' type='UUF_UNUSED_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unused field</ShortMessage><LongMessage>Unused field: AbstractMissingHashCode$ConcreteMissingEquals.z</LongMessage><Class classname='AbstractMissingHashCode$ConcreteMissingEquals' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='AbstractMissingHashCode$ConcreteMissingEquals' start='41' end='41' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[line 41]</Message></SourceLine><Message>In class AbstractMissingHashCode$ConcreteMissingEquals</Message></Class><Field isStatic='false' classname='AbstractMissingHashCode$ConcreteMissingEquals' signature='I' name='z' primary='true'><SourceLine classname='AbstractMissingHashCode$ConcreteMissingEquals' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>In AbstractMissingHashCode.java</Message></SourceLine><Message>Field AbstractMissingHashCode$ConcreteMissingEquals.z</Message></Field><SourceLine synthetic='true' classname='AbstractMissingHashCode$ConcreteMissingEquals' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>In AbstractMissingHashCode.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2c7ce38a60fcaf2dfc81b12de6c15996' cweid='581' rank='16' abbrev='HE' category='BAD_PRACTICE' priority='2' type='HE_INHERITS_EQUALS_USE_HASHCODE' instanceOccurrenceMax='0'><ShortMessage>Class inherits equals() and uses Object.hashCode()</ShortMessage><LongMessage>AbstractMissingHashCode$StillMissingHashCode inherits equals and uses Object.hashCode()</LongMessage><Class classname='AbstractMissingHashCode$StillMissingHashCode' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='AbstractMissingHashCode$StillMissingHashCode' start='16' end='16' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[line 16]</Message></SourceLine><Message>In class AbstractMissingHashCode$StillMissingHashCode</Message></Class><SourceLine synthetic='true' classname='AbstractMissingHashCode$StillMissingHashCode' start='16' end='16' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[line 16]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='1ffa8c1ed911ce86e126a34511fc5005' cweid='563' rank='18' abbrev='UuF' category='PERFORMANCE' priority='2' type='UUF_UNUSED_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unused field</ShortMessage><LongMessage>Unused field: AbstractMissingHashCode$StillMissingHashCode.y</LongMessage><Class classname='AbstractMissingHashCode$StillMissingHashCode' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='AbstractMissingHashCode$StillMissingHashCode' start='16' end='16' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>At AbstractMissingHashCode.java:[line 16]</Message></SourceLine><Message>In class AbstractMissingHashCode$StillMissingHashCode</Message></Class><Field isStatic='false' classname='AbstractMissingHashCode$StillMissingHashCode' signature='I' name='y' primary='true'><SourceLine classname='AbstractMissingHashCode$StillMissingHashCode' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>In AbstractMissingHashCode.java</Message></SourceLine><Message>Field AbstractMissingHashCode$StillMissingHashCode.y</Message></Field><SourceLine synthetic='true' classname='AbstractMissingHashCode$StillMissingHashCode' sourcepath='AbstractMissingHashCode.java' sourcefile='AbstractMissingHashCode.java'><Message>In AbstractMissingHashCode.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='69c11738e121e9abce12f28437309bf9' rank='18' abbrev='SIC' category='PERFORMANCE' priority='2' type='SIC_INNER_SHOULD_BE_STATIC' instanceOccurrenceMax='0'><ShortMessage>Should be a static inner class</ShortMessage><LongMessage>Should AccidentalNonConstructorInInnerClass$DoNotReport be a _static_ inner class?</LongMessage><Class classname='AccidentalNonConstructorInInnerClass$DoNotReport' primary='true'><SourceLine classname='AccidentalNonConstructorInInnerClass$DoNotReport' start='21' end='24' sourcepath='AccidentalNonConstructorInInnerClass.java' sourcefile='AccidentalNonConstructorInInnerClass.java'><Message>At AccidentalNonConstructorInInnerClass.java:[lines 21-24]</Message></SourceLine><Message>In class AccidentalNonConstructorInInnerClass$DoNotReport</Message></Class><SourceLine synthetic='true' classname='AccidentalNonConstructorInInnerClass$DoNotReport' start='21' end='24' sourcepath='AccidentalNonConstructorInInnerClass.java' sourcefile='AccidentalNonConstructorInInnerClass.java'><Message>At AccidentalNonConstructorInInnerClass.java:[lines 21-24]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='be669372d87f2e5e988f8db5fce6bace' rank='18' abbrev='SIC' category='PERFORMANCE' priority='2' type='SIC_INNER_SHOULD_BE_STATIC' instanceOccurrenceMax='0'><ShortMessage>Should be a static inner class</ShortMessage><LongMessage>Should AccidentalNonConstructorInInnerClass$Report be a _static_ inner class?</LongMessage><Class classname='AccidentalNonConstructorInInnerClass$Report' primary='true'><SourceLine classname='AccidentalNonConstructorInInnerClass$Report' start='3' end='5' sourcepath='AccidentalNonConstructorInInnerClass.java' sourcefile='AccidentalNonConstructorInInnerClass.java'><Message>At AccidentalNonConstructorInInnerClass.java:[lines 3-5]</Message></SourceLine><Message>In class AccidentalNonConstructorInInnerClass$Report</Message></Class><SourceLine synthetic='true' classname='AccidentalNonConstructorInInnerClass$Report' start='3' end='5' sourcepath='AccidentalNonConstructorInInnerClass.java' sourcefile='AccidentalNonConstructorInInnerClass.java'><Message>At AccidentalNonConstructorInInnerClass.java:[lines 3-5]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a7786a4e4e4b9291a71529139eda42d1' rank='5' abbrev='IO' category='CORRECTNESS' priority='1' type='IO_APPENDING_TO_OBJECT_OUTPUT_STREAM' instanceOccurrenceMax='0'><ShortMessage>Doomed attempt to append to an object output stream</ShortMessage><LongMessage>Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject1(File, Object)</LongMessage><Class classname='AppendingToAnObjectOutputStream' primary='true'><SourceLine classname='AppendingToAnObjectOutputStream' start='10' end='38' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java'><Message>At AppendingToAnObjectOutputStream.java:[lines 10-38]</Message></SourceLine><Message>In class AppendingToAnObjectOutputStream</Message></Class><Method isStatic='true' classname='AppendingToAnObjectOutputStream' signature='(Ljava/io/File;Ljava/lang/Object;)V' name='appendObject1' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='62' classname='AppendingToAnObjectOutputStream' start='14' end='17' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='0'></SourceLine><Message>In method AppendingToAnObjectOutputStream.appendObject1(File, Object)</Message></Method><SourceLine endBytecode='13' classname='AppendingToAnObjectOutputStream' start='14' end='14' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='13' primary='true'><Message>At AppendingToAnObjectOutputStream.java:[line 14]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='291247b70690f65de576af5f247deda2' rank='5' abbrev='IO' category='CORRECTNESS' priority='1' type='IO_APPENDING_TO_OBJECT_OUTPUT_STREAM' instanceOccurrenceMax='0'><ShortMessage>Doomed attempt to append to an object output stream</ShortMessage><LongMessage>Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject2(File, Object)</LongMessage><Class classname='AppendingToAnObjectOutputStream' primary='true'><SourceLine classname='AppendingToAnObjectOutputStream' start='10' end='38' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java'><Message>At AppendingToAnObjectOutputStream.java:[lines 10-38]</Message></SourceLine><Message>In class AppendingToAnObjectOutputStream</Message></Class><Method isStatic='true' classname='AppendingToAnObjectOutputStream' signature='(Ljava/io/File;Ljava/lang/Object;)V' name='appendObject2' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='69' classname='AppendingToAnObjectOutputStream' start='21' end='24' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='0'></SourceLine><Message>In method AppendingToAnObjectOutputStream.appendObject2(File, Object)</Message></Method><SourceLine endBytecode='20' classname='AppendingToAnObjectOutputStream' start='21' end='21' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='20' primary='true'><Message>At AppendingToAnObjectOutputStream.java:[line 21]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='cff3b96e366dd11c97ec3fe55ef625d3' rank='5' abbrev='IO' category='CORRECTNESS' priority='1' type='IO_APPENDING_TO_OBJECT_OUTPUT_STREAM' instanceOccurrenceMax='0'><ShortMessage>Doomed attempt to append to an object output stream</ShortMessage><LongMessage>Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject3(String, Object)</LongMessage><Class classname='AppendingToAnObjectOutputStream' primary='true'><SourceLine classname='AppendingToAnObjectOutputStream' start='10' end='38' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java'><Message>At AppendingToAnObjectOutputStream.java:[lines 10-38]</Message></SourceLine><Message>In class AppendingToAnObjectOutputStream</Message></Class><Method isStatic='true' classname='AppendingToAnObjectOutputStream' signature='(Ljava/lang/String;Ljava/lang/Object;)V' name='appendObject3' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='62' classname='AppendingToAnObjectOutputStream' start='28' end='31' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='0'></SourceLine><Message>In method AppendingToAnObjectOutputStream.appendObject3(String, Object)</Message></Method><SourceLine endBytecode='13' classname='AppendingToAnObjectOutputStream' start='28' end='28' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='13' primary='true'><Message>At AppendingToAnObjectOutputStream.java:[line 28]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='9348141520cc8532ae7a66b94539b443' rank='5' abbrev='IO' category='CORRECTNESS' priority='1' type='IO_APPENDING_TO_OBJECT_OUTPUT_STREAM' instanceOccurrenceMax='0'><ShortMessage>Doomed attempt to append to an object output stream</ShortMessage><LongMessage>Doomed attempt to append to an object output stream in AppendingToAnObjectOutputStream.appendObject4(String, Object)</LongMessage><Class classname='AppendingToAnObjectOutputStream' primary='true'><SourceLine classname='AppendingToAnObjectOutputStream' start='10' end='38' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java'><Message>At AppendingToAnObjectOutputStream.java:[lines 10-38]</Message></SourceLine><Message>In class AppendingToAnObjectOutputStream</Message></Class><Method isStatic='true' classname='AppendingToAnObjectOutputStream' signature='(Ljava/lang/String;Ljava/lang/Object;)V' name='appendObject4' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='69' classname='AppendingToAnObjectOutputStream' start='35' end='38' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='0'></SourceLine><Message>In method AppendingToAnObjectOutputStream.appendObject4(String, Object)</Message></Method><SourceLine endBytecode='20' classname='AppendingToAnObjectOutputStream' start='35' end='35' sourcepath='AppendingToAnObjectOutputStream.java' sourcefile='AppendingToAnObjectOutputStream.java' startBytecode='20' primary='true'><Message>At AppendingToAnObjectOutputStream.java:[line 35]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='69fc8149ac74f195dfcc0eb02825ac37' rank='9' abbrev='USELESS_STRING' category='CORRECTNESS' priority='2' type='DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY' instanceOccurrenceMax='0'><ShortMessage>Invocation of toString on an unnamed array</ShortMessage><LongMessage>Invocation of toString on an unnamed array in ArrayToString.print2()</LongMessage><Class classname='ArrayToString' primary='true'><SourceLine classname='ArrayToString' start='3' end='34' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java'><Message>At ArrayToString.java:[lines 3-34]</Message></SourceLine><Message>In class ArrayToString</Message></Class><Method isStatic='false' classname='ArrayToString' signature='()V' name='print2' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='51' classname='ArrayToString' start='28' end='29' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='0'></SourceLine><Message>In method ArrayToString.print2()</Message></Method><SourceLine endBytecode='17' classname='ArrayToString' start='28' end='28' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='17' primary='true'><Message>At ArrayToString.java:[line 28]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6edfaab8bb077520d1dd201f170905b5' rank='10' abbrev='USELESS_STRING' category='CORRECTNESS' priority='2' type='DMI_INVOKING_TOSTRING_ON_ARRAY' instanceOccurrenceMax='0'><ShortMessage>Invocation of toString on an array</ShortMessage><LongMessage>Invocation of toString on ? in ArrayToString.print0(String[])</LongMessage><Class classname='ArrayToString' primary='true'><SourceLine classname='ArrayToString' start='3' end='34' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java'><Message>At ArrayToString.java:[lines 3-34]</Message></SourceLine><Message>In class ArrayToString</Message></Class><Method isStatic='false' classname='ArrayToString' signature='([Ljava/lang/String;)V' name='print0' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='38' classname='ArrayToString' start='17' end='18' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='0'></SourceLine><Message>In method ArrayToString.print0(String[])</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='4' name='?' register='1'><Message>Local variable stored in JVM register 1</Message></LocalVariable><SourceLine endBytecode='4' classname='ArrayToString' start='17' end='17' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='4' primary='true'><Message>At ArrayToString.java:[line 17]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6f39931023b807f67246726dd1600923' rank='10' abbrev='USELESS_STRING' category='CORRECTNESS' priority='2' type='DMI_INVOKING_TOSTRING_ON_ARRAY' instanceOccurrenceMax='0'><ShortMessage>Invocation of toString on an array</ShortMessage><LongMessage>Invocation of toString on ? in ArrayToString.print1()</LongMessage><Class classname='ArrayToString' primary='true'><SourceLine classname='ArrayToString' start='3' end='34' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java'><Message>At ArrayToString.java:[lines 3-34]</Message></SourceLine><Message>In class ArrayToString</Message></Class><Method isStatic='false' classname='ArrayToString' signature='()V' name='print1' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='57' classname='ArrayToString' start='22' end='24' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='0'></SourceLine><Message>In method ArrayToString.print1()</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='19' name='?' register='1'><Message>Local variable stored in JVM register 1</Message></LocalVariable><SourceLine endBytecode='19' classname='ArrayToString' start='23' end='23' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='19' primary='true'><Message>At ArrayToString.java:[line 23]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='fd09722e737c38425f815e66854e8e4c' rank='10' abbrev='USELESS_STRING' category='CORRECTNESS' priority='2' type='DMI_INVOKING_TOSTRING_ON_ARRAY' instanceOccurrenceMax='0'><ShortMessage>Invocation of toString on an array</ShortMessage><LongMessage>Invocation of toString on gargs in ArrayToString.print3()</LongMessage><Class classname='ArrayToString' primary='true'><SourceLine classname='ArrayToString' start='3' end='34' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java'><Message>At ArrayToString.java:[lines 3-34]</Message></SourceLine><Message>In class ArrayToString</Message></Class><Method isStatic='false' classname='ArrayToString' signature='()V' name='print3' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='40' classname='ArrayToString' start='33' end='34' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='0'></SourceLine><Message>In method ArrayToString.print3()</Message></Method><Field isStatic='true' role='FIELD_VALUE_OF' classname='ArrayToString' signature='[Ljava/lang/String;' name='gargs' primary='true'><SourceLine classname='ArrayToString' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java'><Message>In ArrayToString.java</Message></SourceLine><Message>Value loaded from field ArrayToString.gargs</Message></Field><SourceLine endBytecode='6' classname='ArrayToString' start='33' end='33' sourcepath='ArrayToString.java' sourcefile='ArrayToString.java' startBytecode='6' primary='true'><Message>At ArrayToString.java:[line 33]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c7f9edd192cfef80d2e55dde64a514bc' rank='2' abbrev='INT' category='CORRECTNESS' priority='1' type='INT_BAD_COMPARISON_WITH_SIGNED_BYTE' instanceOccurrenceMax='0'><ShortMessage>Bad comparison of signed byte</ShortMessage><LongMessage>Bad comparison of signed byte with 200 in AssumeUnsignedBytes.find200(byte[])</LongMessage><Class classname='AssumeUnsignedBytes' primary='true'><SourceLine classname='AssumeUnsignedBytes' start='3' end='10' sourcepath='AssumeUnsignedBytes.java' sourcefile='AssumeUnsignedBytes.java'><Message>At AssumeUnsignedBytes.java:[lines 3-10]</Message></SourceLine><Message>In class AssumeUnsignedBytes</Message></Class><Method isStatic='false' classname='AssumeUnsignedBytes' signature='([B)I' name='find200' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='82' classname='AssumeUnsignedBytes' start='7' end='10' sourcepath='AssumeUnsignedBytes.java' sourcefile='AssumeUnsignedBytes.java' startBytecode='0'></SourceLine><Message>In method AssumeUnsignedBytes.find200(byte[])</Message></Method><Int role='INT_VALUE' value='200'><Message>Value 200</Message></Int><SourceLine endBytecode='14' classname='AssumeUnsignedBytes' start='8' end='8' sourcepath='AssumeUnsignedBytes.java' sourcefile='AssumeUnsignedBytes.java' startBytecode='14' primary='true'><Message>At AssumeUnsignedBytes.java:[line 8]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='cb09374eb03c49c93b2fa6f088a52d19' rank='17' abbrev='Eq' category='STYLE' priority='2' type='EQ_UNUSUAL' instanceOccurrenceMax='0'><ShortMessage>Unusual equals method</ShortMessage><LongMessage>UseOfNonHashableClassInHashDataStructure.equals(Object) is unusual</LongMessage><Class classname='UseOfNonHashableClassInHashDataStructure' primary='true'><SourceLine classname='UseOfNonHashableClassInHashDataStructure' start='3' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[lines 3-24]</Message></SourceLine><Message>In class UseOfNonHashableClassInHashDataStructure</Message></Class><Method isStatic='false' classname='UseOfNonHashableClassInHashDataStructure' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='51' classname='UseOfNonHashableClassInHashDataStructure' start='16' end='16' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'></SourceLine><Message>In method UseOfNonHashableClassInHashDataStructure.equals(Object)</Message></Method><SourceLine synthetic='true' endBytecode='51' classname='UseOfNonHashableClassInHashDataStructure' start='16' end='16' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 16]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c44f97bf502b32aba37c238aae4e404c' cweid='581' rank='14' abbrev='HE' category='BAD_PRACTICE' priority='1' type='HE_EQUALS_USE_HASHCODE' instanceOccurrenceMax='0'><ShortMessage>Class defines equals() and uses Object.hashCode()</ShortMessage><LongMessage>UseOfNonHashableClassInHashDataStructure defines equals and uses Object.hashCode()</LongMessage><Class classname='UseOfNonHashableClassInHashDataStructure' primary='true'><SourceLine classname='UseOfNonHashableClassInHashDataStructure' start='3' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[lines 3-24]</Message></SourceLine><Message>In class UseOfNonHashableClassInHashDataStructure</Message></Class><Method isStatic='false' classname='UseOfNonHashableClassInHashDataStructure' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='51' classname='UseOfNonHashableClassInHashDataStructure' start='16' end='16' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'></SourceLine><Message>In method UseOfNonHashableClassInHashDataStructure.equals(Object)</Message></Method><SourceLine synthetic='true' endBytecode='51' classname='UseOfNonHashableClassInHashDataStructure' start='16' end='16' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 16]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='39b83e2bc727181dff8f79450a6ccedb' rank='1' abbrev='HE' category='CORRECTNESS' priority='1' type='HE_USE_OF_UNHASHABLE_CLASS' instanceOccurrenceMax='0'><ShortMessage>Use of class without a hashCode() method in a hashed data structure</ShortMessage><LongMessage>UseOfNonHashableClassInHashDataStructure doesn't define a hashCode() method but is used in a hashed data structure in UseOfNonHashableClassInHashDataStructure.get(UseOfNonHashableClassInHashDataStructure)</LongMessage><Class classname='UseOfNonHashableClassInHashDataStructure' primary='true'><SourceLine classname='UseOfNonHashableClassInHashDataStructure' start='3' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[lines 3-24]</Message></SourceLine><Message>In class UseOfNonHashableClassInHashDataStructure</Message></Class><Method isStatic='true' classname='UseOfNonHashableClassInHashDataStructure' signature='(LUseOfNonHashableClassInHashDataStructure;)Ljava/lang/String;' name='get' primary='true'><SourceLine endBytecode='34' classname='UseOfNonHashableClassInHashDataStructure' start='24' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'></SourceLine><Message>In method UseOfNonHashableClassInHashDataStructure.get(UseOfNonHashableClassInHashDataStructure)</Message></Method><Type role='TYPE_UNHASHABLE' descriptor='LUseOfNonHashableClassInHashDataStructure;'><SourceLine classname='UseOfNonHashableClassInHashDataStructure' start='3' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[lines 3-24]</Message></SourceLine><Message>Unhashable class UseOfNonHashableClassInHashDataStructure </Message></Type><Method isStatic='false' role='METHOD_CALLED' classname='java.util.HashMap' signature='(Ljava/lang/Object;)Ljava/lang/Object;' name='get'><SourceLine endBytecode='126' classname='java.util.HashMap' start='564' end='564' sourcepath='java/util/HashMap.java' sourcefile='HashMap.java' startBytecode='0'></SourceLine><Message>Called method java.util.HashMap.get(Object)</Message></Method><SourceLine endBytecode='4' classname='UseOfNonHashableClassInHashDataStructure' start='24' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='4' primary='true'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 24]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='41b77ff11d2e2e680aef0fc0487eb26' cweid='476' rank='11' abbrev='NP' category='BAD_PRACTICE' priority='2' type='NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT' instanceOccurrenceMax='0'><ShortMessage>equals() method does not check for null argument</ShortMessage><LongMessage>UseOfNonHashableClassInHashDataStructure.equals(Object) does not check for null argument</LongMessage><Class classname='UseOfNonHashableClassInHashDataStructure' primary='true'><SourceLine classname='UseOfNonHashableClassInHashDataStructure' start='3' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[lines 3-24]</Message></SourceLine><Message>In class UseOfNonHashableClassInHashDataStructure</Message></Class><Method isStatic='false' classname='UseOfNonHashableClassInHashDataStructure' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='51' classname='UseOfNonHashableClassInHashDataStructure' start='16' end='16' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'></SourceLine><Message>In method UseOfNonHashableClassInHashDataStructure.equals(Object)</Message></Method><LocalVariable role='LOCAL_VARIABLE_PARAMETER' pc='0' name='?' register='1'><Message>Parameter $L1</Message></LocalVariable><SourceLine synthetic='true' endBytecode='51' classname='UseOfNonHashableClassInHashDataStructure' start='16' end='16' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java' startBytecode='0'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 16]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a4564c101ee03f13b56ee6a6b66efd77' rank='5' abbrev='HE' category='CORRECTNESS' priority='1' type='HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS' instanceOccurrenceMax='0'><ShortMessage>Signature declares use of unhashable class in hashed construct</ShortMessage><LongMessage>UseOfNonHashableClassInHashDataStructure doesn't define a hashCode() method but it is used in a hashed context in UseOfNonHashableClassInHashDataStructure$UMap</LongMessage><Class classname='UseOfNonHashableClassInHashDataStructure$UMap' primary='true'><SourceLine classname='UseOfNonHashableClassInHashDataStructure$UMap' start='5' end='5' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 5]</Message></SourceLine><Message>In class UseOfNonHashableClassInHashDataStructure$UMap</Message></Class><Class classname='UseOfNonHashableClassInHashDataStructure$UMap'><SourceLine classname='UseOfNonHashableClassInHashDataStructure$UMap' start='5' end='5' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 5]</Message></SourceLine><Message>In class UseOfNonHashableClassInHashDataStructure$UMap</Message></Class><Type role='TYPE_UNHASHABLE' descriptor='LUseOfNonHashableClassInHashDataStructure;'><SourceLine classname='UseOfNonHashableClassInHashDataStructure' start='3' end='24' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[lines 3-24]</Message></SourceLine><Message>Unhashable class UseOfNonHashableClassInHashDataStructure </Message></Type><SourceLine synthetic='true' classname='UseOfNonHashableClassInHashDataStructure$UMap' start='5' end='5' sourcepath='UseOfNonHashableClassInHashDataStructure.java' sourcefile='UseOfNonHashableClassInHashDataStructure.java'><Message>At UseOfNonHashableClassInHashDataStructure.java:[line 5]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='1e198d90e029bd94e0fcac098ac886f0' cweid='563' rank='17' abbrev='DLS' category='STYLE' priority='2' type='DLS_DEAD_LOCAL_STORE' instanceOccurrenceMax='0'><ShortMessage>Dead store to local variable</ShortMessage><LongMessage>Dead store to $L2 in new UselessAssignments(int, int)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='(II)V' name='&lt;init&gt;' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='18' classname='UselessAssignments' start='14' end='20' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method new UselessAssignments(int, int)</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='14' name='?' register='2'><Message>Local variable stored in JVM register 2</Message></LocalVariable><SourceLine endBytecode='13' classname='UselessAssignments' start='17' end='17' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='13' primary='true'><Message>At UselessAssignments.java:[line 17]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='27' classname='UselessAssignments' start='19' end='19' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='27'><Message>Another occurrence at UselessAssignments.java:[line 19]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.BASE_VALUE' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.COPY_VALUE' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.IS_PARAMETER' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='?'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.TWO_STORES_MULTIPLE_LOADS' value='true'></Property></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e248f9d4626fdfcebf961d28bcbd1d88' cweid='563' rank='5' abbrev='DLS' category='CORRECTNESS' priority='1' type='DLS_OVERWRITTEN_INCREMENT' instanceOccurrenceMax='0'><ShortMessage>Overwritten increment</ShortMessage><LongMessage>Overwritten increment in UselessAssignments.oops()</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='()I' name='oops' primary='true'><SourceLine endBytecode='88' classname='UselessAssignments' start='28' end='33' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method UselessAssignments.oops()</Message></Method><SourceLine endBytecode='12' classname='UselessAssignments' start='30' end='30' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='12' primary='true'><Message>At UselessAssignments.java:[line 30]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='7ede2d1d20b6c890f8bd42aa114700cb' rank='17' abbrev='SA' category='STYLE' priority='2' type='SA_FIELD_DOUBLE_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Double assignment of field</ShortMessage><LongMessage>Double assignment of field g1 in new UselessAssignments(int, int)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='(II)V' name='&lt;init&gt;' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='72' classname='UselessAssignments' start='14' end='20' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method new UselessAssignments(int, int)</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='g1' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.g1</Message></Field><Field isStatic='false' role='FIELD_DID_YOU_MEAN' classname='UselessAssignments' signature='I' name='g2' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Did you mean to refer to the field UselessAssignments.g2?</Message></Field><SourceLine endBytecode='21' classname='UselessAssignments' start='18' end='18' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='21' primary='true'><Message>At UselessAssignments.java:[line 18]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='af228e02f5a644fafee81ce697aee818' rank='17' abbrev='SA' category='STYLE' priority='2' type='SA_FIELD_DOUBLE_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Double assignment of field</ShortMessage><LongMessage>Double assignment of field foo in UselessAssignments.oops()</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='()I' name='oops' primary='true'><SourceLine endBytecode='88' classname='UselessAssignments' start='28' end='33' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method UselessAssignments.oops()</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='foo' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.foo</Message></Field><SourceLine endBytecode='25' classname='UselessAssignments' start='31' end='31' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='25' primary='true'><Message>At UselessAssignments.java:[line 31]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='40' classname='UselessAssignments' start='32' end='32' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='40'><Message>Another occurrence at UselessAssignments.java:[line 32]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a4ee3c67057f873273383c40e9eb75f7' rank='17' abbrev='SA' category='STYLE' priority='2' type='SA_FIELD_DOUBLE_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Double assignment of field</ShortMessage><LongMessage>Double assignment of field foo in UselessAssignments.report(UselessAssignments, UselessAssignments)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='true' classname='UselessAssignments' signature='(LUselessAssignments;LUselessAssignments;)V' name='report' primary='true'><SourceLine endBytecode='44' classname='UselessAssignments' start='37' end='38' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method UselessAssignments.report(UselessAssignments, UselessAssignments)</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='foo' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.foo</Message></Field><SourceLine endBytecode='13' classname='UselessAssignments' start='37' end='37' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='13' primary='true'><Message>At UselessAssignments.java:[line 37]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='19a5c830e2e44b2fd3a1e328b566354d' rank='17' abbrev='SA' category='STYLE' priority='2' type='SA_FIELD_DOUBLE_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Double assignment of field</ShortMessage><LongMessage>Double assignment of field bar in UselessAssignments.setFoo(UselessAssignments, UselessAssignments)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='true' classname='UselessAssignments' signature='(LUselessAssignments;LUselessAssignments;)V' name='setFoo' primary='true'><SourceLine endBytecode='57' classname='UselessAssignments' start='23' end='25' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method UselessAssignments.setFoo(UselessAssignments, UselessAssignments)</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='bar' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.bar</Message></Field><SourceLine endBytecode='22' classname='UselessAssignments' start='24' end='24' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='22' primary='true'><Message>At UselessAssignments.java:[line 24]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c845f2f6bcbb54ef6993e667f2ab9f6a' rank='1' abbrev='SA' category='CORRECTNESS' priority='1' type='SA_FIELD_SELF_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Self assignment of field</ShortMessage><LongMessage>Self assignment of field foo in new UselessAssignments(int, int)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='(II)V' name='&lt;init&gt;' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='72' classname='UselessAssignments' start='14' end='20' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method new UselessAssignments(int, int)</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='foo' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.foo</Message></Field><LocalVariable role='LOCAL_VARIABLE_DID_YOU_MEAN' pc='0' name='?' register='1'><Message>Did you mean to refer to the local variable ?</Message></LocalVariable><SourceLine endBytecode='9' classname='UselessAssignments' start='16' end='16' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='9' primary='true'><Message>At UselessAssignments.java:[line 16]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='48138b3b7d208c1dee75d30c88c3f630' rank='1' abbrev='SA' category='CORRECTNESS' priority='1' type='SA_FIELD_SELF_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Self assignment of field</ShortMessage><LongMessage>Self assignment of field foo in UselessAssignments.oops()</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='()I' name='oops' primary='true'><SourceLine endBytecode='88' classname='UselessAssignments' start='28' end='33' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method UselessAssignments.oops()</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='foo' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.foo</Message></Field><SourceLine endBytecode='25' classname='UselessAssignments' start='31' end='31' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='25' primary='true'><Message>At UselessAssignments.java:[line 31]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='104e1feff400d67f352b8ebe5d4de578' rank='17' abbrev='SA' category='STYLE' priority='2' type='SA_LOCAL_DOUBLE_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Double assignment of local variable</ShortMessage><LongMessage>Double assignment of $L3 in new UselessAssignments(int, int)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='(II)V' name='&lt;init&gt;' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='72' classname='UselessAssignments' start='14' end='20' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method new UselessAssignments(int, int)</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='27' name='?' register='3'><Message>Local variable stored in JVM register 3</Message></LocalVariable><SourceLine endBytecode='27' classname='UselessAssignments' start='19' end='19' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='27' primary='true'><Message>At UselessAssignments.java:[line 19]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c13704c7e43f54a4b0e0b7e810fab483' rank='17' abbrev='SA' category='STYLE' priority='2' type='SA_LOCAL_SELF_ASSIGNMENT' instanceOccurrenceMax='0'><ShortMessage>Self assignment of local variable</ShortMessage><LongMessage>Self assignment of $L2 in new UselessAssignments(int, int)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='(II)V' name='&lt;init&gt;' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='72' classname='UselessAssignments' start='14' end='20' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method new UselessAssignments(int, int)</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='13' name='?' register='2'><Message>Local variable stored in JVM register 2</Message></LocalVariable><SourceLine endBytecode='13' classname='UselessAssignments' start='17' end='17' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='13' primary='true'><Message>At UselessAssignments.java:[line 17]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a9ac916aaaa20f2f879ba1f5546378a2' cweid='563' rank='18' abbrev='UrF' category='PERFORMANCE' priority='2' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: UselessAssignments.bar</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Field isStatic='false' classname='UselessAssignments' signature='I' name='bar' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.bar</Message></Field><SourceLine endBytecode='15' classname='UselessAssignments' start='24' end='24' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='15' primary='true'><Message>At UselessAssignments.java:[line 24]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='92f970b91e234dfabebb960a2dda6cde' cweid='563' rank='18' abbrev='UrF' category='PERFORMANCE' priority='2' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: UselessAssignments.g1</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Field isStatic='false' classname='UselessAssignments' signature='I' name='g1' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.g1</Message></Field><SourceLine endBytecode='18' classname='UselessAssignments' start='18' end='18' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='18' primary='true'><Message>At UselessAssignments.java:[line 18]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='ef8d86e8b4ffe32c6b42c02f53d79967' cweid='457' rank='1' abbrev='UR' category='CORRECTNESS' priority='1' type='UR_UNINIT_READ' instanceOccurrenceMax='0'><ShortMessage>Uninitialized read of field in constructor</ShortMessage><LongMessage>Uninitialized read of foo in new UselessAssignments(int, int)</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Method isStatic='false' classname='UselessAssignments' signature='(II)V' name='&lt;init&gt;' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='72' classname='UselessAssignments' start='14' end='20' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='0'></SourceLine><Message>In method new UselessAssignments(int, int)</Message></Method><Field isStatic='false' classname='UselessAssignments' signature='I' name='foo' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.foo</Message></Field><LocalVariable role='LOCAL_VARIABLE_DID_YOU_MEAN' pc='0' name='?' register='1'><Message>Did you mean to refer to the local variable ?</Message></LocalVariable><SourceLine endBytecode='6' classname='UselessAssignments' start='16' end='16' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java' startBytecode='6' primary='true'><Message>At UselessAssignments.java:[line 16]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='58226112c6dad90dff9521fabd5e281a' cweid='563' rank='18' abbrev='UuF' category='PERFORMANCE' priority='2' type='UUF_UNUSED_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unused field</ShortMessage><LongMessage>Unused field: UselessAssignments.g2</LongMessage><Class classname='UselessAssignments' primary='true'><SourceLine classname='UselessAssignments' start='14' end='42' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>At UselessAssignments.java:[lines 14-42]</Message></SourceLine><Message>In class UselessAssignments</Message></Class><Field isStatic='false' classname='UselessAssignments' signature='I' name='g2' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine><Message>Field UselessAssignments.g2</Message></Field><SourceLine synthetic='true' classname='UselessAssignments' sourcepath='UselessAssignments.java' sourcefile='UselessAssignments.java'><Message>In UselessAssignments.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='96473e4685b558480d3131874bb0bfac' rank='17' abbrev='UCF' category='STYLE' priority='2' type='UCF_USELESS_CONTROL_FLOW' instanceOccurrenceMax='0'><ShortMessage>Useless control flow</ShortMessage><LongMessage>Useless control flow in UselessControlFlow.report0(Object, Object)</LongMessage><Class classname='UselessControlFlow' primary='true'><SourceLine classname='UselessControlFlow' start='1' end='48' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java'><Message>At UselessControlFlow.java:[lines 1-48]</Message></SourceLine><Message>In class UselessControlFlow</Message></Class><Method isStatic='false' classname='UselessControlFlow' signature='(Ljava/lang/Object;Ljava/lang/Object;)V' name='report0' primary='true'><SourceLine endBytecode='67' classname='UselessControlFlow' start='14' end='18' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java' startBytecode='0'></SourceLine><Message>In method UselessControlFlow.report0(Object, Object)</Message></Method><SourceLine endBytecode='5' classname='UselessControlFlow' start='14' end='14' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java' startBytecode='5' primary='true'><Message>At UselessControlFlow.java:[line 14]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b96b10c919f7a2823fb6cef55f13806e' rank='17' abbrev='UCF' category='STYLE' priority='2' type='UCF_USELESS_CONTROL_FLOW' instanceOccurrenceMax='0'><ShortMessage>Useless control flow</ShortMessage><LongMessage>Useless control flow in UselessControlFlow.report1(Object, Object)</LongMessage><Class classname='UselessControlFlow' primary='true'><SourceLine classname='UselessControlFlow' start='1' end='48' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java'><Message>At UselessControlFlow.java:[lines 1-48]</Message></SourceLine><Message>In class UselessControlFlow</Message></Class><Method isStatic='false' classname='UselessControlFlow' signature='(Ljava/lang/Object;Ljava/lang/Object;)V' name='report1' primary='true'><SourceLine endBytecode='67' classname='UselessControlFlow' start='21' end='25' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java' startBytecode='0'></SourceLine><Message>In method UselessControlFlow.report1(Object, Object)</Message></Method><SourceLine endBytecode='5' classname='UselessControlFlow' start='21' end='21' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java' startBytecode='5' primary='true'><Message>At UselessControlFlow.java:[line 21]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='cb81b071abfa5392b63cd6667af78a0c' rank='17' abbrev='UC' category='STYLE' priority='2' type='UC_USELESS_VOID_METHOD' instanceOccurrenceMax='0'><ShortMessage>Useless non-empty void method</ShortMessage><LongMessage>Method UselessControlFlow.report4(Object[], Object) seems to be useless</LongMessage><Class classname='UselessControlFlow' primary='true'><SourceLine classname='UselessControlFlow' start='1' end='48' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java'><Message>At UselessControlFlow.java:[lines 1-48]</Message></SourceLine><Message>In class UselessControlFlow</Message></Class><Method isStatic='false' classname='UselessControlFlow' signature='([Ljava/lang/Object;Ljava/lang/Object;)V' name='report4' primary='true'><SourceLine endBytecode='93' classname='UselessControlFlow' start='44' end='48' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java' startBytecode='0'></SourceLine><Message>In method UselessControlFlow.report4(Object[], Object)</Message></Method><SourceLine endBytecode='37' classname='UselessControlFlow' start='48' end='48' sourcepath='UselessControlFlow.java' sourcefile='UselessControlFlow.java' startBytecode='37' primary='true'><Message>At UselessControlFlow.java:[line 48]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='5279ce0f2e7e43b3d68c99143f7031d1' cweid='563' rank='17' abbrev='DLS' category='STYLE' priority='2' type='DLS_DEAD_LOCAL_STORE' instanceOccurrenceMax='0'><ShortMessage>Dead store to local variable</ShortMessage><LongMessage>Dead store to $L1 in UselessCurrentThread.test4()</LongMessage><Class classname='UselessCurrentThread' primary='true'><SourceLine classname='UselessCurrentThread' start='11' end='70' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java'><Message>At UselessCurrentThread.java:[lines 11-70]</Message></SourceLine><Message>In class UselessCurrentThread</Message></Class><Method isStatic='false' classname='UselessCurrentThread' signature='()V' name='test4' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='13' classname='UselessCurrentThread' start='42' end='47' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='0'></SourceLine><Message>In method UselessCurrentThread.test4()</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='4' name='?' register='1'><Message>Local variable stored in JVM register 1</Message></LocalVariable><SourceLine endBytecode='3' classname='UselessCurrentThread' start='42' end='42' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='3' primary='true'><Message>At UselessCurrentThread.java:[line 42]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='?'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.METHOD_RESULT' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.NO_LOADS' value='true'></Property></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='4fd80bb64477be2a8c1ba4dda34c0c45' cweid='374' rank='18' abbrev='EI2' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP2' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by incorporating reference to mutable object</ShortMessage><LongMessage>new UselessCurrentThread(Thread) may expose internal representation by storing an externally mutable object into unknownThread</LongMessage><Class classname='UselessCurrentThread' primary='true'><SourceLine classname='UselessCurrentThread' start='11' end='70' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java'><Message>At UselessCurrentThread.java:[lines 11-70]</Message></SourceLine><Message>In class UselessCurrentThread</Message></Class><Method isStatic='false' classname='UselessCurrentThread' signature='(Ljava/lang/Thread;)V' name='&lt;init&gt;' primary='true'><SourceLine endBytecode='41' classname='UselessCurrentThread' start='11' end='13' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='0'></SourceLine><Message>In method new UselessCurrentThread(Thread)</Message></Method><Field isStatic='false' classname='UselessCurrentThread' signature='Ljava/lang/Thread;' name='unknownThread' primary='true'><SourceLine classname='UselessCurrentThread' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java'><Message>In UselessCurrentThread.java</Message></SourceLine><Message>Field UselessCurrentThread.unknownThread</Message></Field><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='6' name='?' register='1'><Message>Local variable stored in JVM register 1</Message></LocalVariable><SourceLine endBytecode='6' classname='UselessCurrentThread' start='12' end='12' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='6' primary='true'><Message>At UselessCurrentThread.java:[line 12]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='32e7531b6ee9020f9a7ee49c82340289' rank='7' abbrev='STI' category='CORRECTNESS' priority='2' type='STI_INTERRUPTED_ON_UNKNOWNTHREAD' instanceOccurrenceMax='0'><ShortMessage>Static Thread.interrupted() method invoked on thread instance</ShortMessage><LongMessage>UselessCurrentThread.test4() invokes static Thread.interrupted() method on thread instance</LongMessage><Class classname='UselessCurrentThread' primary='true'><SourceLine classname='UselessCurrentThread' start='11' end='70' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java'><Message>At UselessCurrentThread.java:[lines 11-70]</Message></SourceLine><Message>In class UselessCurrentThread</Message></Class><Method isStatic='false' classname='UselessCurrentThread' signature='()V' name='test4' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='87' classname='UselessCurrentThread' start='42' end='47' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='0'></SourceLine><Message>In method UselessCurrentThread.test4()</Message></Method><SourceLine endBytecode='9' classname='UselessCurrentThread' start='43' end='43' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='9' primary='true'><Message>At UselessCurrentThread.java:[line 43]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c07aea22e4a01fc6a782f4195f3d2032' rank='7' abbrev='STI' category='CORRECTNESS' priority='2' type='STI_INTERRUPTED_ON_UNKNOWNTHREAD' instanceOccurrenceMax='0'><ShortMessage>Static Thread.interrupted() method invoked on thread instance</ShortMessage><LongMessage>UselessCurrentThread.test5() invokes static Thread.interrupted() method on thread instance</LongMessage><Class classname='UselessCurrentThread' primary='true'><SourceLine classname='UselessCurrentThread' start='11' end='70' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java'><Message>At UselessCurrentThread.java:[lines 11-70]</Message></SourceLine><Message>In class UselessCurrentThread</Message></Class><Method isStatic='false' classname='UselessCurrentThread' signature='()V' name='test5' classAnnotationNames='edu.umd.cs.findbugs.annotations.DesireWarning' primary='true'><SourceLine endBytecode='74' classname='UselessCurrentThread' start='52' end='56' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='0'></SourceLine><Message>In method UselessCurrentThread.test5()</Message></Method><SourceLine endBytecode='5' classname='UselessCurrentThread' start='52' end='52' sourcepath='UselessCurrentThread.java' sourcefile='UselessCurrentThread.java' startBytecode='5' primary='true'><Message>At UselessCurrentThread.java:[line 52]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='98ca538a43fe607eff40be1b303b6d97' cweid='586' rank='16' abbrev='FI' category='BAD_PRACTICE' priority='2' type='FI_USELESS' instanceOccurrenceMax='0'><ShortMessage>Finalizer does nothing but call superclass finalizer</ShortMessage><LongMessage>UselessFinalize.finalize() does nothing except call super.finalize(); delete it</LongMessage><Class classname='UselessFinalize' primary='true'><SourceLine classname='UselessFinalize' start='1' end='5' sourcepath='UselessFinalize.java' sourcefile='UselessFinalize.java'><Message>At UselessFinalize.java:[lines 1-5]</Message></SourceLine><Message>In class UselessFinalize</Message></Class><Method isStatic='false' classname='UselessFinalize' signature='()V' name='finalize' primary='true'><SourceLine endBytecode='32' classname='UselessFinalize' start='4' end='5' sourcepath='UselessFinalize.java' sourcefile='UselessFinalize.java' startBytecode='0'></SourceLine><Message>In method UselessFinalize.finalize()</Message></Method><SourceLine synthetic='true' endBytecode='32' classname='UselessFinalize' start='4' end='5' sourcepath='UselessFinalize.java' sourcefile='UselessFinalize.java' startBytecode='0'><Message>At UselessFinalize.java:[lines 4-5]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6a78b99562832d13c4d4abd0ed980af1' cweid='563' rank='17' abbrev='DLS' category='STYLE' priority='2' type='DLS_DEAD_LOCAL_STORE' instanceOccurrenceMax='0'><ShortMessage>Dead store to local variable</ShortMessage><LongMessage>Dead store to $L3 in UserMistakes.main(String[])</LongMessage><Class classname='UserMistakes' primary='true'><SourceLine classname='UserMistakes' start='10' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java'><Message>At UserMistakes.java:[lines 10-43]</Message></SourceLine><Message>In class UserMistakes</Message></Class><Method isStatic='true' classname='UserMistakes' signature='([Ljava/lang/String;)V' name='main' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='64' classname='UserMistakes' start='13' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='0'></SourceLine><Message>In method UserMistakes.main(String[])</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='84' name='?' register='3'><Message>Local variable stored in JVM register 3</Message></LocalVariable><SourceLine endBytecode='75' classname='UserMistakes' start='28' end='28' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='75' primary='true'><Message>At UserMistakes.java:[line 28]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.EXCEPTION_HANDLER' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='?'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.TWO_STORES_MULTIPLE_LOADS' value='true'></Property></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='858a262eec25d5636f51be89ad417c7d' cweid='440' rank='17' abbrev='DMI' category='STYLE' priority='2' type='DMI_HARDCODED_ABSOLUTE_FILENAME' instanceOccurrenceMax='0'><ShortMessage>Code contains a hard coded reference to an absolute pathname</ShortMessage><LongMessage>Hard coded reference to an absolute pathname in UserMistakes.main(String[])</LongMessage><Class classname='UserMistakes' primary='true'><SourceLine classname='UserMistakes' start='10' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java'><Message>At UserMistakes.java:[lines 10-43]</Message></SourceLine><Message>In class UserMistakes</Message></Class><Method isStatic='true' classname='UserMistakes' signature='([Ljava/lang/String;)V' name='main' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='64' classname='UserMistakes' start='13' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='0'></SourceLine><Message>In method UserMistakes.main(String[])</Message></Method><String role='FILE_NAME' value='/mainList.txt'><Message>File name /mainList.txt</Message></String><SourceLine endBytecode='57' classname='UserMistakes' start='26' end='26' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='57' primary='true'><Message>At UserMistakes.java:[line 26]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='111' classname='UserMistakes' start='37' end='37' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='111'><Message>Another occurrence at UserMistakes.java:[line 37]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c605add53d7d36f5dea72b09c753696b' cweid='173' rank='19' abbrev='Dm' category='I18N' priority='1' type='DM_DEFAULT_ENCODING' instanceOccurrenceMax='0'><ShortMessage>Reliance on default encoding</ShortMessage><LongMessage>Found reliance on default encoding in UserMistakes.main(String[]): new java.io.FileReader(String)</LongMessage><Class classname='UserMistakes' primary='true'><SourceLine classname='UserMistakes' start='10' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java'><Message>At UserMistakes.java:[lines 10-43]</Message></SourceLine><Message>In class UserMistakes</Message></Class><Method isStatic='true' classname='UserMistakes' signature='([Ljava/lang/String;)V' name='main' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='318' classname='UserMistakes' start='13' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='0'></SourceLine><Message>In method UserMistakes.main(String[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.io.FileReader' signature='(Ljava/lang/String;)V' name='&lt;init&gt;'><SourceLine endBytecode='68' classname='java.io.FileReader' start='60' end='61' sourcepath='java/io/FileReader.java' sourcefile='FileReader.java' startBytecode='0'></SourceLine><Message>Called method new java.io.FileReader(String)</Message></Method><SourceLine endBytecode='57' classname='UserMistakes' start='26' end='26' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='57' primary='true'><Message>At UserMistakes.java:[line 26]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='111' classname='UserMistakes' start='37' end='37' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='111'><Message>Another occurrence at UserMistakes.java:[line 37]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='3108f7e83443c8e5ac28ded4bbb4e704' cweid='185' rank='4' abbrev='RE' category='CORRECTNESS' priority='2' type='RE_POSSIBLE_UNINTENDED_PATTERN' instanceOccurrenceMax='0'><ShortMessage>"." or "|" used for regular expression</ShortMessage><LongMessage>"." or "|" used for regular expression in UserMistakes.main(String[])</LongMessage><Class classname='UserMistakes' primary='true'><SourceLine classname='UserMistakes' start='10' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java'><Message>At UserMistakes.java:[lines 10-43]</Message></SourceLine><Message>In class UserMistakes</Message></Class><Method isStatic='true' classname='UserMistakes' signature='([Ljava/lang/String;)V' name='main' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='318' classname='UserMistakes' start='13' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='0'></SourceLine><Message>In method UserMistakes.main(String[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;' name='replaceAll'><SourceLine endBytecode='74' classname='java.lang.String' start='3069' end='3069' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method String.replaceAll(String, String)</Message></Method><SourceLine endBytecode='8' classname='UserMistakes' start='14' end='14' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='8' primary='true'><Message>At UserMistakes.java:[line 14]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='40f42e0dceb428e674d6f8e4ba66c864' cweid='440' rank='17' abbrev='RV' category='STYLE' priority='2' type='RV_DONT_JUST_NULL_CHECK_READLINE' instanceOccurrenceMax='0'><ShortMessage>Method discards result of readLine after checking if it is non-null</ShortMessage><LongMessage>UserMistakes.main(String[]) discards result of readLine after checking if it is non-null</LongMessage><Class classname='UserMistakes' primary='true'><SourceLine classname='UserMistakes' start='10' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java'><Message>At UserMistakes.java:[lines 10-43]</Message></SourceLine><Message>In class UserMistakes</Message></Class><Method isStatic='true' classname='UserMistakes' signature='([Ljava/lang/String;)V' name='main' classAnnotationNames='edu.umd.cs.findbugs.annotations.ExpectWarning' primary='true'><SourceLine endBytecode='318' classname='UserMistakes' start='13' end='43' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='0'></SourceLine><Message>In method UserMistakes.main(String[])</Message></Method><SourceLine endBytecode='68' classname='UserMistakes' start='27' end='27' sourcepath='UserMistakes.java' sourcefile='UserMistakes.java' startBytecode='68' primary='true'><Message>At UserMistakes.java:[line 27]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e5eca91493afc4def3f5ca6c00bc21b4' cweid='580' rank='16' abbrev='CN' category='BAD_PRACTICE' priority='2' type='CN_IDIOM_NO_SUPER_CALL' instanceOccurrenceMax='0'><ShortMessage>clone method does not call super.clone()</ShortMessage><LongMessage>org.codehaus.mojo.spotbugsmavenplugin.it.App.clone() does not call super.clone()</LongMessage><Class classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' primary='true'><SourceLine classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='28' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java'><Message>At App.java:[lines 28-40]</Message></SourceLine><Message>In class org.codehaus.mojo.spotbugsmavenplugin.it.App</Message></Class><Method isStatic='false' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' signature='()Ljava/lang/Object;' name='clone' primary='true'><SourceLine endBytecode='25' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='40' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java' startBytecode='0'></SourceLine><Message>In method org.codehaus.mojo.spotbugsmavenplugin.it.App.clone()</Message></Method><SourceLine synthetic='true' endBytecode='25' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='40' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java' startBytecode='0'><Message>At App.java:[line 40]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b023b4d64864ad74388e37e9538c70b5' cweid='476' rank='14' abbrev='NP' category='BAD_PRACTICE' priority='2' type='NP_CLONE_COULD_RETURN_NULL' instanceOccurrenceMax='0'><ShortMessage>Clone method may return null</ShortMessage><LongMessage>org.codehaus.mojo.spotbugsmavenplugin.it.App.clone() may return null</LongMessage><Class classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' primary='true'><SourceLine classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='28' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java'><Message>At App.java:[lines 28-40]</Message></SourceLine><Message>In class org.codehaus.mojo.spotbugsmavenplugin.it.App</Message></Class><Method isStatic='false' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' signature='()Ljava/lang/Object;' name='clone' primary='true'><SourceLine endBytecode='25' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='40' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java' startBytecode='0'></SourceLine><Message>In method org.codehaus.mojo.spotbugsmavenplugin.it.App.clone()</Message></Method><SourceLine endBytecode='1' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='40' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java' startBytecode='1' primary='true'><Message>At App.java:[line 40]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='8435721437473b8d57ed4387283331aa' cweid='440' rank='17' abbrev='RV' category='STYLE' priority='2' type='RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT' instanceOccurrenceMax='0'><ShortMessage>Return value of method without side effect is ignored</ShortMessage><LongMessage>Return value of java.util.Objects.isNull(Object) ignored, but method has no side effect</LongMessage><Class classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' primary='true'><SourceLine classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='28' end='40' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java'><Message>At App.java:[lines 28-40]</Message></SourceLine><Message>In class org.codehaus.mojo.spotbugsmavenplugin.it.App</Message></Class><Method isStatic='true' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' signature='([Ljava/lang/String;)V' name='main' primary='true'><SourceLine endBytecode='47' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='35' end='37' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java' startBytecode='0'></SourceLine><Message>In method org.codehaus.mojo.spotbugsmavenplugin.it.App.main(String[])</Message></Method><Method isStatic='true' role='METHOD_CALLED' classname='java.util.Objects' signature='(Ljava/lang/Object;)Z' name='isNull'><SourceLine endBytecode='62' classname='java.util.Objects' start='278' end='278' sourcepath='java/util/Objects.java' sourcefile='Objects.java' startBytecode='0'></SourceLine><Message>Called method java.util.Objects.isNull(Object)</Message></Method><SourceLine endBytecode='1' classname='org.codehaus.mojo.spotbugsmavenplugin.it.App' start='35' end='35' sourcepath='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' sourcefile='App.java' startBytecode='1' primary='true'><Message>At App.java:[line 35]</Message></SourceLine></BugInstance><BugCategory category='BAD_PRACTICE'><Description>Bad practice</Description></BugCategory><BugCategory category='MALICIOUS_CODE'><Description>Malicious code vulnerability</Description></BugCategory><BugCategory category='PERFORMANCE'><Description>Performance</Description></BugCategory><BugCategory category='CORRECTNESS'><Description>Correctness</Description></BugCategory><BugCategory category='STYLE'><Description>Dodgy code</Description></BugCategory><BugCategory category='I18N'><Description>Internationalization</Description></BugCategory><BugPattern abbrev='DLS' category='STYLE' type='DLS_DEAD_LOCAL_STORE'><ShortDescription>Dead store to local variable</ShortDescription><Details>

&lt;p&gt;
This instruction assigns a value to a local variable,
but the value is not read or used in any subsequent instruction.
Often, this indicates an error, because the value computed is never
used.
&lt;/p&gt;
&lt;p&gt;
Note that Sun's javac compiler often generates dead stores for
final local variables. Because SpotBugs is a bytecode-based tool,
there is no easy way to eliminate these false positives.
&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/563.html"&gt;CWE-563: Assignment to Variable without Use&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern cweid='580' abbrev='CN' category='BAD_PRACTICE' type='CN_IDIOM_NO_SUPER_CALL'><ShortDescription>clone method does not call super.clone()</ShortDescription><Details>

&lt;p&gt; This non-final class defines a clone() method that does not call super.clone().
If this class ("&lt;i&gt;A&lt;/i&gt;") is extended by a subclass ("&lt;i&gt;B&lt;/i&gt;"),
and the subclass &lt;i&gt;B&lt;/i&gt; calls super.clone(), then it is likely that
&lt;i&gt;B&lt;/i&gt;'s clone() method will return an object of type &lt;i&gt;A&lt;/i&gt;,
which violates the standard contract for clone().&lt;/p&gt;

&lt;p&gt; If all clone() methods call super.clone(), then they are guaranteed
to use Object.clone(), which always returns an object of the correct type.&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/580.html"&gt;CWE-580: clone() Method Without super.clone()&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern cweid='374' abbrev='EI2' category='MALICIOUS_CODE' type='EI_EXPOSE_REP2'><ShortDescription>May expose internal representation by incorporating reference to mutable object</ShortDescription><Details>

  &lt;p&gt; This code stores a reference to an externally mutable object into the
  internal representation of the object.&amp;nbsp;
   If instances
   are accessed by untrusted code, and unchecked changes to
   the mutable object would compromise security or other
   important properties, you will need to do something different.
  Storing a copy of the object is better approach in many situations.&lt;/p&gt;
  &lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/374.html"&gt;CWE-374: Passing Mutable Objects to an Untrusted Method&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='RV' category='STYLE' type='RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT'><ShortDescription>Return value of method without side effect is ignored</ShortDescription><Details>

&lt;p&gt;This code calls a method and ignores the return value. However, our analysis shows that
the method (including its implementations in subclasses if any) does not produce any effect
other than return value. Thus, this call can be removed.
&lt;/p&gt;
&lt;p&gt;We are trying to reduce the false positives as much as possible, but in some cases this warning might be wrong.
Common false-positive cases include:&lt;/p&gt;
&lt;p&gt;- The method is designed to be overridden and produce a side effect in other projects which are out of the scope of the analysis.&lt;/p&gt;
&lt;p&gt;- The method is called to trigger the class loading which may have a side effect.&lt;/p&gt;
&lt;p&gt;- The method is called just to get some exception.&lt;/p&gt;
&lt;p&gt;If you feel that our assumption is incorrect, you can use a @CheckReturnValue annotation
to instruct SpotBugs that ignoring the return value of this method is acceptable.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='SIC' category='PERFORMANCE' type='SIC_INNER_SHOULD_BE_STATIC'><ShortDescription>Should be a static inner class</ShortDescription><Details>

  &lt;p&gt; This class is an inner class, but does not use its embedded reference
  to the object which created it.&amp;nbsp; This reference makes the instances
  of the class larger, and may keep the reference to the creator object
  alive longer than necessary.&amp;nbsp; If possible, the class should be
   made static.
&lt;/p&gt;

    </Details></BugPattern><BugPattern cweid='563' abbrev='UrF' category='PERFORMANCE' type='URF_UNREAD_FIELD'><ShortDescription>Unread field</ShortDescription><Details>

  &lt;p&gt; This field is never read.&amp;nbsp; Consider removing it from the class.&lt;/p&gt;
  &lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/563.html"&gt;CWE-563: Assignment to Variable without Use&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='SA' category='CORRECTNESS' type='SA_FIELD_SELF_ASSIGNMENT'><ShortDescription>Self assignment of field</ShortDescription><Details>

&lt;p&gt; This method contains a self assignment of a field; e.g.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int x;
public void foo() {
    x = x;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Such assignments are useless, and may indicate a logic error or typo.&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='NP' category='BAD_PRACTICE' type='NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT'><ShortDescription>equals() method does not check for null argument</ShortDescription><Details>

      &lt;p&gt;
      This implementation of equals(Object) violates the contract defined
      by java.lang.Object.equals() because it does not check for null
      being passed as the argument.  All equals() methods should return
      false if passed a null value.
      &lt;/p&gt;

   </Details></BugPattern><BugPattern abbrev='RE' category='CORRECTNESS' type='RE_POSSIBLE_UNINTENDED_PATTERN'><ShortDescription>"." or "|" used for regular expression</ShortDescription><Details>

&lt;p&gt;
A String function is being invoked and "." or "|" is being passed
to a parameter that takes a regular expression as an argument. Is this what you intended?
For example
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;s.replaceAll(".", "/") will return a String in which &lt;em&gt;every&lt;/em&gt; character has been replaced by a '/' character&lt;/li&gt;
&lt;li&gt;s.split(".") &lt;em&gt;always&lt;/em&gt; returns a zero length array of String&lt;/li&gt;
&lt;li&gt;"ab|cd".replaceAll("|", "/") will return "/a/b/|/c/d/"&lt;/li&gt;
&lt;li&gt;"ab|cd".split("|") will return array with six (!) elements: [, a, b, |, c, d]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Consider using &lt;code&gt;s.replace(".", "/")&lt;/code&gt; or &lt;code&gt;s.split("\\.")&lt;/code&gt; instead.
&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/185.html"&gt;CWE-185: Incorrect Regular Expression&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern cweid='563' abbrev='UuF' category='PERFORMANCE' type='UUF_UNUSED_FIELD'><ShortDescription>Unused field</ShortDescription><Details>

  &lt;p&gt; This field is never used.&amp;nbsp; Consider removing it from the class.&lt;/p&gt;
  &lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/563.html"&gt;CWE-563: Assignment to Variable without Use&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='Eq' category='STYLE' type='EQ_DOESNT_OVERRIDE_EQUALS'><ShortDescription>Class doesn't override equals in superclass</ShortDescription><Details>

  &lt;p&gt; This class extends a class that defines an equals method and adds fields, but doesn't
define an equals method itself. Thus, equality on instances of this class will
ignore the identity of the subclass and the added fields. Be sure this is what is intended,
and that you don't need to override the equals method. Even if you don't need to override
the equals method, consider overriding it anyway to document the fact
that the equals method for the subclass just return the result of
invoking super.equals(o).
  &lt;/p&gt;

    </Details></BugPattern><BugPattern cweid='173' abbrev='Dm' category='I18N' type='DM_DEFAULT_ENCODING'><ShortDescription>Reliance on default encoding</ShortDescription><Details>

&lt;p&gt; Found a call to a method which will perform a byte to String (or String to byte) conversion,
and will assume that the default platform encoding is suitable. This will cause the application
behavior to vary between platforms. Use an alternative API and specify a charset name or Charset
object explicitly.&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/173.html"&gt;CWE-173: Improper Handling of Alternate Encoding&lt;/a&gt;.
&lt;/p&gt;

      </Details></BugPattern><BugPattern cweid='457' abbrev='UR' category='CORRECTNESS' type='UR_UNINIT_READ'><ShortDescription>Uninitialized read of field in constructor</ShortDescription><Details>

  &lt;p&gt; This constructor reads a field which has not yet been assigned a value.&amp;nbsp;
  This is often caused when the programmer mistakenly uses the field instead
  of one of the constructor's parameters.&lt;/p&gt;
  &lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/457.html"&gt;CWE-457: Use of Uninitialized Variable&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='UCF' category='STYLE' type='UCF_USELESS_CONTROL_FLOW'><ShortDescription>Useless control flow</ShortDescription><Details>

&lt;p&gt; This method contains a useless control flow statement, where
control flow continues onto the same place regardless of whether or not
the branch is taken. For example,
this is caused by having an empty statement
block for an &lt;code&gt;if&lt;/code&gt; statement:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;if (argv.length == 0) {
    // TODO: handle this case
}
&lt;/code&gt;&lt;/pre&gt;

    </Details></BugPattern><BugPattern abbrev='SA' category='STYLE' type='SA_LOCAL_DOUBLE_ASSIGNMENT'><ShortDescription>Double assignment of local variable</ShortDescription><Details>

&lt;p&gt; This method contains a double assignment of a local variable; e.g.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public void foo() {
    int x,y;
    x = x = 17;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Assigning the same value to a variable twice is useless, and may indicate a logic error or typo.&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='NP' category='BAD_PRACTICE' type='NP_CLONE_COULD_RETURN_NULL'><ShortDescription>Clone method may return null</ShortDescription><Details>

      &lt;p&gt;
    This clone method seems to return null in some circumstances, but clone is never
    allowed to return a null value.  If you are convinced this path is unreachable, throw an AssertionError
    instead.
      &lt;/p&gt;

   </Details></BugPattern><BugPattern cweid='581' abbrev='HE' category='BAD_PRACTICE' type='HE_INHERITS_EQUALS_USE_HASHCODE'><ShortDescription>Class inherits equals() and uses Object.hashCode()</ShortDescription><Details>

  &lt;p&gt; This class inherits &lt;code&gt;equals(Object)&lt;/code&gt; from an abstract
  superclass, and &lt;code&gt;hashCode()&lt;/code&gt; from
&lt;code&gt;java.lang.Object&lt;/code&gt; (which returns
  the identity hash code, an arbitrary value assigned to the object
  by the VM).&amp;nbsp; Therefore, the class is very likely to violate the
  invariant that equal objects must have equal hashcodes.&lt;/p&gt;

  &lt;p&gt;If you don't want to define a hashCode method, and/or don't
   believe the object will ever be put into a HashMap/Hashtable,
   define the &lt;code&gt;hashCode()&lt;/code&gt; method
   to throw &lt;code&gt;UnsupportedOperationException&lt;/code&gt;.&lt;/p&gt;
   &lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/581.html"&gt;CWE-581: Object Model Violation: Just One of Equals and Hashcode Defined&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='USELESS_STRING' category='CORRECTNESS' type='DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY'><ShortDescription>Invocation of toString on an unnamed array</ShortDescription><Details>

&lt;p&gt;
The code invokes toString on an (anonymous) array.  Calling toString on an array generates a fairly useless result
such as [C@16f0472. Consider using Arrays.toString to convert the array into a readable
String that gives the contents of the array. See Programming Puzzlers, chapter 3, puzzle 12.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='SA' category='STYLE' type='SA_LOCAL_SELF_ASSIGNMENT'><ShortDescription>Self assignment of local variable</ShortDescription><Details>

&lt;p&gt; This method contains a self assignment of a local variable; e.g.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public void foo() {
    int x = 3;
    x = x;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;
Such assignments are useless, and may indicate a logic error or typo.
&lt;/p&gt;

    </Details></BugPattern><BugPattern cweid='563' abbrev='UuF' category='STYLE' type='UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD'><ShortDescription>Unused public or protected field</ShortDescription><Details>

  &lt;p&gt; This field is never used.&amp;nbsp;
The field is public or protected, so perhaps
    it is intended to be used with classes not seen as part of the analysis. If not,
consider removing it from the class.&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/563.html"&gt;CWE-563: Assignment to Variable without Use&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='IO' category='CORRECTNESS' type='IO_APPENDING_TO_OBJECT_OUTPUT_STREAM'><ShortDescription>Doomed attempt to append to an object output stream</ShortDescription><Details>

      &lt;p&gt;
     This code opens a file in append mode and then wraps the result in an object output stream like as follows:
      &lt;/p&gt;
      &lt;pre&gt;&lt;code&gt;OutputStream out = new FileOutputStream(anyFile, true);
     new ObjectOutputStream(out);&lt;/code&gt;&lt;/pre&gt;
      &lt;p&gt;
     This won't allow you to append to an existing object output stream stored in a file. If you want to be
     able to append to an object output stream, you need to keep the object output stream open.
      &lt;/p&gt;
      &lt;p&gt;The only situation in which opening a file in append mode and the writing an object output stream
      could work is if on reading the file you plan to open it in random access mode and seek to the byte offset
      where the append started.
      &lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='FI' category='BAD_PRACTICE' type='FI_USELESS'><ShortDescription>Finalizer does nothing but call superclass finalizer</ShortDescription><Details>

  &lt;p&gt; The only thing this &lt;code&gt;finalize()&lt;/code&gt; method does is call
  the superclass's &lt;code&gt;finalize()&lt;/code&gt; method, making it
  redundant.&amp;nbsp; Delete it.&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='HE' category='CORRECTNESS' type='HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS'><ShortDescription>Signature declares use of unhashable class in hashed construct</ShortDescription><Details>

  &lt;p&gt; A method, field or class declares a generic signature where a non-hashable class
is used in context where a hashable class is required.
A class that declares an equals method but inherits a hashCode() method
from Object is unhashable, since it doesn't fulfill the requirement that
equal objects have equal hashCodes.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='RV' category='STYLE' type='RV_DONT_JUST_NULL_CHECK_READLINE'><ShortDescription>Method discards result of readLine after checking if it is non-null</ShortDescription><Details>

   &lt;p&gt; The value returned by readLine is discarded after checking to see if the return
value is non-null. In almost all situations, if the result is non-null, you will want
to use that non-null value. Calling readLine again will give you a different line.&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='USELESS_STRING' category='CORRECTNESS' type='DMI_INVOKING_TOSTRING_ON_ARRAY'><ShortDescription>Invocation of toString on an array</ShortDescription><Details>

&lt;p&gt;
The code invokes toString on an array, which will generate a fairly useless result
such as [C@16f0472. Consider using Arrays.toString to convert the array into a readable
String that gives the contents of the array. See Programming Puzzlers, chapter 3, puzzle 12.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='DLS' category='CORRECTNESS' type='DLS_OVERWRITTEN_INCREMENT'><ShortDescription>Overwritten increment</ShortDescription><Details>

&lt;p&gt;
The code performs an increment/decrement operation (e.g., &lt;code&gt;i++&lt;/code&gt; / &lt;code&gt;i--&lt;/code&gt;) and then
immediately overwrites it. For example, &lt;code&gt;i = i++&lt;/code&gt; / &lt;code&gt;i = i--&lt;/code&gt; immediately
overwrites the incremented/decremented value with the original value.
&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/563.html"&gt;CWE-563: Assignment to Variable without Use&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='Eq' category='STYLE' type='EQ_UNUSUAL'><ShortDescription>Unusual equals method</ShortDescription><Details>

  &lt;p&gt; This class doesn't do any of the patterns we recognize for checking that the type of the argument
is compatible with the type of the &lt;code&gt;this&lt;/code&gt; object. There might not be anything wrong with
this code, but it is worth reviewing.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='DMI' category='STYLE' type='DMI_HARDCODED_ABSOLUTE_FILENAME'><ShortDescription>Code contains a hard coded reference to an absolute pathname</ShortDescription><Details>

&lt;p&gt;This code constructs a File object using a hard coded to an absolute pathname
(e.g., &lt;code&gt;new File("/home/dannyc/workspace/j2ee/src/share/com/sun/enterprise/deployment");&lt;/code&gt;
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='SA' category='STYLE' type='SA_FIELD_DOUBLE_ASSIGNMENT'><ShortDescription>Double assignment of field</ShortDescription><Details>

&lt;p&gt; This method contains a double assignment of a field; e.g.
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;int x,y;
public void foo() {
    x = x = 17;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Assigning to a field twice is useless, and may indicate a logic error or typo.&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='STI' category='CORRECTNESS' type='STI_INTERRUPTED_ON_UNKNOWNTHREAD'><ShortDescription>Static Thread.interrupted() method invoked on thread instance</ShortDescription><Details>

&lt;p&gt;
This method invokes the Thread.interrupted() method on a Thread object that appears to be a Thread object that is
not the current thread. As the interrupted() method is static, the interrupted method will be called on a different
object than the one the author intended.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='HE' category='CORRECTNESS' type='HE_USE_OF_UNHASHABLE_CLASS'><ShortDescription>Use of class without a hashCode() method in a hashed data structure</ShortDescription><Details>

  &lt;p&gt; A class defines an equals(Object)  method but not a hashCode() method,
and thus doesn't fulfill the requirement that equal objects have equal hashCodes.
An instance of this class is used in a hash data structure, making the need to
fix this problem of highest importance.

    </Details></BugPattern><BugPattern cweid='581' abbrev='HE' category='BAD_PRACTICE' type='HE_EQUALS_USE_HASHCODE'><ShortDescription>Class defines equals() and uses Object.hashCode()</ShortDescription><Details>

  &lt;p&gt; This class overrides &lt;code&gt;equals(Object)&lt;/code&gt;, but does not
  override &lt;code&gt;hashCode()&lt;/code&gt;, and inherits the implementation of
  &lt;code&gt;hashCode()&lt;/code&gt; from &lt;code&gt;java.lang.Object&lt;/code&gt; (which returns
  the identity hash code, an arbitrary value assigned to the object
  by the VM).&amp;nbsp; Therefore, the class is very likely to violate the
  invariant that equal objects must have equal hashcodes.&lt;/p&gt;

&lt;p&gt;If you don't think instances of this class will ever be inserted into a HashMap/HashTable,
the recommended &lt;code&gt;hashCode&lt;/code&gt; implementation to use is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public int hashCode() {
    assert false : "hashCode not designed";
    return 42; // any arbitrary constant will do
}
&lt;/code&gt;&lt;/pre&gt;
  &lt;p&gt;See &lt;a href="https://cwe.mitre.org/data/definitions/581.html"&gt;CWE-581: Object Model Violation: Just One of Equals and Hashcode Defined&lt;/a&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='INT' category='CORRECTNESS' type='INT_BAD_COMPARISON_WITH_SIGNED_BYTE'><ShortDescription>Bad comparison of signed byte</ShortDescription><Details>

&lt;p&gt; Signed bytes can only have a value in the range -128 to 127. Comparing
a signed byte with a value outside that range is vacuous and likely to be incorrect.
To convert a signed byte &lt;code&gt;b&lt;/code&gt; to an unsigned value in the range 0..255,
use &lt;code&gt;0xff &amp;amp; b&lt;/code&gt;.
&lt;/p&gt;

    </Details></BugPattern><BugPattern abbrev='UC' category='STYLE' type='UC_USELESS_VOID_METHOD'><ShortDescription>Useless non-empty void method</ShortDescription><Details>

&lt;p&gt;Our analysis shows that this non-empty void method does not actually perform any useful work.
Please check it: probably there's a mistake in its code or its body can be fully removed.
&lt;/p&gt;
&lt;p&gt;We are trying to reduce the false positives as much as possible, but in some cases this warning might be wrong.
Common false-positive cases include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The method is intended to trigger loading of some class which may have a side effect.&lt;/li&gt;
&lt;li&gt;The method is intended to implicitly throw some obscure exception.&lt;/li&gt;
&lt;/ul&gt;

    </Details></BugPattern><BugCode cweid='440' abbrev='DMI'><Description>Dubious method invocation</Description></BugCode><BugCode cweid='476' abbrev='NP'><Description>Null pointer dereference</Description></BugCode><BugCode cweid='586' abbrev='FI'><Description>Incorrect use of finalizers</Description></BugCode><BugCode cweid='440' abbrev='RV'><Description>Bad use of return value from method</Description></BugCode><BugCode abbrev='IO'><Description>Input/Output problem</Description></BugCode><BugCode abbrev='UuF'><Description>Unused field</Description></BugCode><BugCode abbrev='UrF'><Description>Unread field</Description></BugCode><BugCode abbrev='STI'><Description>Suspicious Thread Interrupted</Description></BugCode><BugCode abbrev='Dm'><Description>Dubious method used</Description></BugCode><BugCode cweid='563' abbrev='DLS'><Description>Dead local store</Description></BugCode><BugCode abbrev='USELESS_STRING'><Description>Useless/non-informative string generated</Description></BugCode><BugCode cweid='580' abbrev='CN'><Description>Bad implementation of cloneable idiom</Description></BugCode><BugCode abbrev='Eq'><Description>Problems with implementation of equals()</Description></BugCode><BugCode abbrev='SIC'><Description>Inner class could be made static</Description></BugCode><BugCode abbrev='INT'><Description>Suspicious integer expression</Description></BugCode><BugCode abbrev='SA'><Description>Useless self-operation</Description></BugCode><BugCode abbrev='UC'><Description>Useless code</Description></BugCode><BugCode abbrev='EI2'><Description>Storing reference to mutable object</Description></BugCode><BugCode cweid='185' abbrev='RE'><Description>Regular expressions</Description></BugCode><BugCode abbrev='UCF'><Description>Useless control flow</Description></BugCode><BugCode abbrev='HE'><Description>Equal objects must have equal hashcodes</Description></BugCode><BugCode abbrev='UR'><Description>Uninitialized read of field in constructor</Description></BugCode><Errors missingClasses='0' errors='0'></Errors><FindBugsSummary num_packages='3' total_classes='33' priority_1='13' priority_2='39' total_size='534' clock_seconds='6.76' referenced_classes='149' vm_version='21.0.7+8-LTS-245' total_bugs='52' java_version='21.0.7' gc_seconds='0.01' alloc_mbytes='512.00' cpu_seconds='26.22' peak_mbytes='385.55' timestamp='Sat, 23 Aug 2025 14:59:11 -0400'><FileStats path='A.java' size='6' bugCount='0'></FileStats><FileStats path='AbstractMissingHashCode.java' size='27' bugHash='290462ab6a8cca60d6e98fb4d00a8715' bugCount='6'></FileStats><FileStats path='AccidentalNonConstructorInInnerClass.java' size='33' bugHash='4d750bafa065fe71d65000c63305c060' bugCount='2'></FileStats><FileStats path='AnnotationTest.java' size='5' bugCount='0'></FileStats><FileStats path='AppendingToAnObjectOutputStream.java' size='23' bugHash='f4965b30071b470b77c1fcd1d4c9010e' bugCount='4'></FileStats><FileStats path='ArgumentAssertions.java' size='130' bugCount='0'></FileStats><FileStats path='ArrayToString.java' size='26' bugHash='65e2f47cd6a3bbbfd65ee43be9ad56ad' bugCount='4'></FileStats><FileStats path='AssertionsWithSideEffects.java' size='47' bugCount='0'></FileStats><FileStats path='AssignedOnlyInCtor.java' size='8' bugCount='0'></FileStats><FileStats path='AssumeUnsignedBytes.java' size='8' bugHash='d93b9d9c8503a275b8a75fa8b36ada36' bugCount='1'></FileStats><FileStats path='UseInitCause.java' size='7' bugCount='0'></FileStats><FileStats path='UseOfNonHashableClassInHashDataStructure.java' size='17' bugHash='253a7c9c72c39cbf374ddaa47985d7f1' bugCount='5'></FileStats><FileStats path='UselessAssignments.java' size='29' bugHash='a6b1325f18642f35bb7b9fc6421499e5' bugCount='14'></FileStats><FileStats path='UselessControlFlow.java' size='32' bugHash='e7676bf9533075c7f90a48cfecb52a84' bugCount='3'></FileStats><FileStats path='UselessCurrentThread.java' size='42' bugHash='50e344a2584c628b79a510f94dff920c' bugCount='4'></FileStats><FileStats path='UselessFinalize.java' size='6' bugHash='8cb38670a928306ebeef9dba10b7a176' bugCount='1'></FileStats><FileStats path='UselessSCMethods.java' size='29' bugCount='0'></FileStats><FileStats path='UserAss3rtion.java' size='11' bugCount='0'></FileStats><FileStats path='UserMistakes.java' size='26' bugHash='1cf77876523ae24634baf50f9fb007bc' bugCount='5'></FileStats><FileStats path='annotations/DetectorUnderTest.java' size='2' bugCount='0'></FileStats><FileStats path='org/codehaus/mojo/spotbugsmavenplugin/it/App.java' size='13' bugHash='ad171e9ce937ca9190a1e1a748f8814d' bugCount='3'></FileStats><FileStats path='org/codehaus/mojo/spotbugsmavenplugin/it/FooTest.java' size='7' bugCount='0'></FileStats><PackageStats package='' priority_1='13' total_bugs='49' priority_2='36' total_size='512' total_types='30'><ClassStats bugs='0' size='6' interface='false' sourceFile='A.java' class='A'></ClassStats><ClassStats bugs='0' size='8' interface='false' sourceFile='AbstractMissingHashCode.java' class='AbstractMissingHashCode'></ClassStats><ClassStats bugs='2' size='11' priority_2='2' interface='false' sourceFile='AbstractMissingHashCode.java' class='AbstractMissingHashCode$Concrete'></ClassStats><ClassStats bugs='2' size='4' priority_2='2' interface='false' sourceFile='AbstractMissingHashCode.java' class='AbstractMissingHashCode$ConcreteMissingEquals'></ClassStats><ClassStats bugs='2' size='4' priority_2='2' interface='false' sourceFile='AbstractMissingHashCode.java' class='AbstractMissingHashCode$StillMissingHashCode'></ClassStats><ClassStats bugs='0' size='3' interface='false' sourceFile='AccidentalNonConstructorInInnerClass.java' class='AccidentalNonConstructorInInnerClass'></ClassStats><ClassStats bugs='1' size='7' priority_2='1' interface='false' sourceFile='AccidentalNonConstructorInInnerClass.java' class='AccidentalNonConstructorInInnerClass$DoNotReport'></ClassStats><ClassStats bugs='0' size='6' interface='false' sourceFile='AccidentalNonConstructorInInnerClass.java' class='AccidentalNonConstructorInInnerClass$DoNotReport2'></ClassStats><ClassStats bugs='1' size='6' priority_2='1' interface='false' sourceFile='AccidentalNonConstructorInInnerClass.java' class='AccidentalNonConstructorInInnerClass$Report'></ClassStats><ClassStats bugs='0' size='6' interface='false' sourceFile='AccidentalNonConstructorInInnerClass.java' class='AccidentalNonConstructorInInnerClass$Report$DeeplyNested'></ClassStats><ClassStats bugs='0' size='5' interface='false' sourceFile='AccidentalNonConstructorInInnerClass.java' class='AccidentalNonConstructorInInnerClass$Report2'></ClassStats><ClassStats bugs='0' size='5' interface='false' sourceFile='AnnotationTest.java' class='AnnotationTest'></ClassStats><ClassStats bugs='4' size='23' priority_1='4' interface='false' sourceFile='AppendingToAnObjectOutputStream.java' class='AppendingToAnObjectOutputStream'></ClassStats><ClassStats bugs='0' size='130' interface='false' sourceFile='ArgumentAssertions.java' class='ArgumentAssertions'></ClassStats><ClassStats bugs='4' size='26' priority_2='4' interface='false' sourceFile='ArrayToString.java' class='ArrayToString'></ClassStats><ClassStats bugs='0' size='31' interface='false' sourceFile='AssertionsWithSideEffects.java' class='AssertionsWithSideEffects'></ClassStats><ClassStats bugs='0' size='16' interface='false' sourceFile='AssertionsWithSideEffects.java' class='AssertionsWithSideEffects$ImmutableList'></ClassStats><ClassStats bugs='0' size='8' interface='false' sourceFile='AssignedOnlyInCtor.java' class='AssignedOnlyInCtor'></ClassStats><ClassStats bugs='1' size='8' priority_1='1' interface='false' sourceFile='AssumeUnsignedBytes.java' class='AssumeUnsignedBytes'></ClassStats><ClassStats bugs='0' size='13' interface='false' sourceFile='UselessSCMethods.java' class='Super'></ClassStats><ClassStats bugs='0' size='7' interface='false' sourceFile='UseInitCause.java' class='UseInitCause'></ClassStats><ClassStats bugs='4' size='14' priority_1='2' priority_2='2' interface='false' sourceFile='UseOfNonHashableClassInHashDataStructure.java' class='UseOfNonHashableClassInHashDataStructure'></ClassStats><ClassStats bugs='1' size='3' priority_1='1' interface='false' sourceFile='UseOfNonHashableClassInHashDataStructure.java' class='UseOfNonHashableClassInHashDataStructure$UMap'></ClassStats><ClassStats bugs='14' size='29' priority_1='4' priority_2='10' interface='false' sourceFile='UselessAssignments.java' class='UselessAssignments'></ClassStats><ClassStats bugs='3' size='32' priority_2='3' interface='false' sourceFile='UselessControlFlow.java' class='UselessControlFlow'></ClassStats><ClassStats bugs='4' size='42' priority_2='4' interface='false' sourceFile='UselessCurrentThread.java' class='UselessCurrentThread'></ClassStats><ClassStats bugs='1' size='6' priority_2='1' interface='false' sourceFile='UselessFinalize.java' class='UselessFinalize'></ClassStats><ClassStats bugs='0' size='16' interface='false' sourceFile='UselessSCMethods.java' class='UselessSCMethods'></ClassStats><ClassStats bugs='0' size='11' interface='false' sourceFile='UserAss3rtion.java' class='UserAss3rtion'></ClassStats><ClassStats bugs='5' size='26' priority_1='1' priority_2='4' interface='false' sourceFile='UserMistakes.java' class='UserMistakes'></ClassStats></PackageStats><PackageStats package='annotations' total_bugs='0' total_size='2' total_types='1'><ClassStats bugs='0' size='2' interface='true' sourceFile='DetectorUnderTest.java' class='annotations.DetectorUnderTest'></ClassStats></PackageStats><PackageStats package='org.codehaus.mojo.spotbugsmavenplugin.it' total_bugs='3' priority_2='3' total_size='20' total_types='2'><ClassStats bugs='3' size='13' priority_2='3' interface='false' sourceFile='App.java' class='org.codehaus.mojo.spotbugsmavenplugin.it.App'></ClassStats><ClassStats bugs='0' size='7' interface='false' sourceFile='FooTest.java' class='org.codehaus.mojo.spotbugsmavenplugin.it.FooTest'></ClassStats></PackageStats><FindBugsProfile><ClassProfile avgMicrosecondsPerInvocation='1238' totalMilliseconds='978' name='edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine' maxMicrosecondsPerInvocation='88942' standardDeviationMicrosecondsPerInvocation='3945' invocations='790'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='794' totalMilliseconds='633' name='edu.umd.cs.findbugs.classfile.engine.ClassDataAnalysisEngine' maxMicrosecondsPerInvocation='17757' standardDeviationMicrosecondsPerInvocation='1075' invocations='797'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='1916' totalMilliseconds='285' name='edu.umd.cs.findbugs.detect.FindNoSideEffectMethods' maxMicrosecondsPerInvocation='36946' standardDeviationMicrosecondsPerInvocation='4988' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='1892' totalMilliseconds='281' name='edu.umd.cs.findbugs.detect.FieldItemSummary' maxMicrosecondsPerInvocation='52553' standardDeviationMicrosecondsPerInvocation='5344' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='456' totalMilliseconds='169' name='edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory' maxMicrosecondsPerInvocation='9235' standardDeviationMicrosecondsPerInvocation='920' invocations='372'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='228' totalMilliseconds='168' name='edu.umd.cs.findbugs.util.TopologicalSort' maxMicrosecondsPerInvocation='27830' standardDeviationMicrosecondsPerInvocation='1229' invocations='737'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='718' totalMilliseconds='138' name='edu.umd.cs.findbugs.classfile.engine.bcel.JavaClassAnalysisEngine' maxMicrosecondsPerInvocation='52461' standardDeviationMicrosecondsPerInvocation='3910' invocations='193'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='977' totalMilliseconds='135' name='edu.umd.cs.findbugs.classfile.engine.bcel.MethodGenFactory' maxMicrosecondsPerInvocation='81177' standardDeviationMicrosecondsPerInvocation='6966' invocations='139'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='637' totalMilliseconds='110' name='edu.umd.cs.findbugs.classfile.engine.bcel.TypeDataflowFactory' maxMicrosecondsPerInvocation='20108' standardDeviationMicrosecondsPerInvocation='1992' invocations='173'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='781' totalMilliseconds='107' name='edu.umd.cs.findbugs.classfile.engine.bcel.IsNullValueDataflowFactory' maxMicrosecondsPerInvocation='24382' standardDeviationMicrosecondsPerInvocation='2565' invocations='138'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='673' totalMilliseconds='100' name='edu.umd.cs.findbugs.detect.EqualsOperandShouldHaveClassCompatibleWithThis' maxMicrosecondsPerInvocation='75379' standardDeviationMicrosecondsPerInvocation='6149' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='643' totalMilliseconds='95' name='edu.umd.cs.findbugs.detect.NoteDirectlyRelevantTypeQualifiers' maxMicrosecondsPerInvocation='25179' standardDeviationMicrosecondsPerInvocation='2213' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='549' totalMilliseconds='95' name='edu.umd.cs.findbugs.classfile.engine.bcel.ValueNumberDataflowFactory' maxMicrosecondsPerInvocation='14810' standardDeviationMicrosecondsPerInvocation='1471' invocations='173'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='544' totalMilliseconds='75' name='edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory' maxMicrosecondsPerInvocation='16462' standardDeviationMicrosecondsPerInvocation='1428' invocations='139'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='483' totalMilliseconds='72' name='edu.umd.cs.findbugs.detect.FunctionsThatMightBeMistakenForProcedures' maxMicrosecondsPerInvocation='8647' standardDeviationMicrosecondsPerInvocation='1196' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='478' totalMilliseconds='71' name='edu.umd.cs.findbugs.detect.BuildObligationPolicyDatabase' maxMicrosecondsPerInvocation='20359' standardDeviationMicrosecondsPerInvocation='1824' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='476' totalMilliseconds='70' name='edu.umd.cs.findbugs.detect.OverridingEqualsNotSymmetrical' maxMicrosecondsPerInvocation='25973' standardDeviationMicrosecondsPerInvocation='2156' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='497' totalMilliseconds='68' name='edu.umd.cs.findbugs.classfile.engine.bcel.UnconditionalValueDerefDataflowFactory' maxMicrosecondsPerInvocation='12245' standardDeviationMicrosecondsPerInvocation='1314' invocations='138'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='394' totalMilliseconds='58' name='edu.umd.cs.findbugs.detect.CalledMethods' maxMicrosecondsPerInvocation='8671' standardDeviationMicrosecondsPerInvocation='1009' invocations='149'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='1567' totalMilliseconds='51' name='edu.umd.cs.findbugs.detect.FindOpenStream' maxMicrosecondsPerInvocation='37820' standardDeviationMicrosecondsPerInvocation='6500' invocations='33'></ClassProfile></FindBugsProfile></FindBugsSummary><ClassFeatures></ClassFeatures><History></History></BugCollection>
