<?xml version="1.0" encoding="utf-8"?>
<BugCollection sequence='0' release='' analysisTimestamp='1682312112194' version='4.5.0' timestamp='1682311799064'><Project projectName='Mistral Core'><Jar>/var/jenkins_home/jobs/Mistral_Metrics/workspace/modules/Core/target/classes</Jar><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/it/tidalwave/thesefoolishthings/it-tidalwave-util/3.2-ALPHA-13/it-tidalwave-util-3.2-ALPHA-13.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/org/rawdarkroom/codec/1.7-ALPHA-1/codec-1.7-ALPHA-1.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/kenai/nbpwr/javax-annotation/1.3.7-201002241900/javax-annotation-1.3.7-201002241900.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/drewnoakes/metadata-extractor/2.18.0/metadata-extractor-2.18.0.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/adobe/xmp/xmpcore/6.1.11/xmpcore-6.1.11.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/kenai/nbpwr/com-sun-media-imageio/1.1-201007271250/com-sun-media-imageio-1.1-201007271250.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/sun/media/jai_imageio/1.1/jai_imageio-1.1.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/javax/media/jai_core/1.1.3/jai_core-1.1.3.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/sun/media/clibwrapper_jiio/1.1/clibwrapper_jiio-1.1.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/github/spotbugs/spotbugs-annotations/3.1.9/spotbugs-annotations-3.1.9.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar</AuxClasspathEntry><AuxClasspathEntry>/var/jenkins_home/jobs/Mistral_Metrics/workspace@tmp/repository/org/projectlombok/lombok/1.18.22/lombok-1.18.22.jar</AuxClasspathEntry><SrcDir>/var/jenkins_home/jobs/Mistral_Metrics/workspace/modules/Core/src/main/java</SrcDir><WrkDir>/var/jenkins_home/jobs/Mistral_Metrics/workspace/modules/Core/target</WrkDir></Project><BugInstance instanceOccurrenceNum='0' instanceHash='22cbe263c0806efc49a632ec9413af00' 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 it.tidalwave.image.ColorMatrix(double[]) may expose internal representation by storing an externally mutable object into ColorMatrix.c</LongMessage><Class classname='it.tidalwave.image.ColorMatrix' primary='true'><SourceLine classname='it.tidalwave.image.ColorMatrix' start='37' end='218' sourcepath='it/tidalwave/image/ColorMatrix.java' sourcefile='ColorMatrix.java'><Message>At ColorMatrix.java:[lines 37-218]</Message></SourceLine><Message>In class it.tidalwave.image.ColorMatrix</Message></Class><Method isStatic='false' classname='it.tidalwave.image.ColorMatrix' signature='([D)V' name='<init>' primary='true'><SourceLine endBytecode='69' classname='it.tidalwave.image.ColorMatrix' start='62' end='64' sourcepath='it/tidalwave/image/ColorMatrix.java' sourcefile='ColorMatrix.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.ColorMatrix(double[])</Message></Method><Field isStatic='false' classname='it.tidalwave.image.ColorMatrix' signature='[D' name='c' primary='true'><SourceLine classname='it.tidalwave.image.ColorMatrix' sourcepath='it/tidalwave/image/ColorMatrix.java' sourcefile='ColorMatrix.java'><Message>In ColorMatrix.java</Message></SourceLine><Message>Field it.tidalwave.image.ColorMatrix.c</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='6' name='coefficients' register='1'><Message>Local variable named coefficients</Message></LocalVariable><SourceLine endBytecode='6' classname='it.tidalwave.image.ColorMatrix' start='63' end='63' sourcepath='it/tidalwave/image/ColorMatrix.java' sourcefile='ColorMatrix.java' startBytecode='6' primary='true'><Message>At ColorMatrix.java:[line 63]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='afe1e911770a021d0e41ed0cafb8bec9' cweid='580' rank='16' abbrev='CN' category='BAD_PRACTICE' priority='2' type='CN_IDIOM' instanceOccurrenceMax='0'><ShortMessage>Class implements Cloneable but does not define or use clone method</ShortMessage><LongMessage>Class it.tidalwave.image.EditableImage implements Cloneable but does not define or use clone method</LongMessage><Class classname='it.tidalwave.image.EditableImage' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage</Message></Class><SourceLine synthetic='true' classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='110d9a713466e7fa854ac988662cfee6' cweid='476' rank='8' abbrev='NP' category='CORRECTNESS' priority='2' type='NP_NULL_PARAM_DEREF' instanceOccurrenceMax='0'><ShortMessage>Method call passes null for non-null parameter</ShortMessage><LongMessage>Null passed for non-null parameter of it.tidalwave.image.op.OperationImplementation.execute(EditableImage, Object) in it.tidalwave.image.EditableImage.internalExecute(Operation)</LongMessage><Class classname='it.tidalwave.image.EditableImage' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage</Message></Class><Method isStatic='false' classname='it.tidalwave.image.EditableImage' signature='(Lit/tidalwave/image/op/Operation;)Ljava/lang/Object;' name='internalExecute' primary='true'><SourceLine endBytecode='579' classname='it.tidalwave.image.EditableImage' start='819' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.EditableImage.internalExecute(Operation)</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='it.tidalwave.image.op.OperationImplementation' signature='(Lit/tidalwave/image/EditableImage;Ljava/lang/Object;)Ljava/lang/Object;' name='execute'><SourceLine endBytecode='170' classname='it.tidalwave.image.op.OperationImplementation' start='61' end='66' sourcepath='it/tidalwave/image/op/OperationImplementation.java' sourcefile='OperationImplementation.java' startBytecode='0'></SourceLine><Message>Called method it.tidalwave.image.op.OperationImplementation.execute(EditableImage, Object)</Message></Method><Int role='INT_MAYBE_NULL_ARG' value='2'><Message>Argument 2 might be null but must not be null</Message></Int><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='35' name='image' register='4'><Message>Value loaded from image</Message></LocalVariable><SourceLine role='SOURCE_LINE_INVOKED' endBytecode='280' classname='it.tidalwave.image.EditableImage' start='865' end='865' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='280' primary='true'><Message>Method invoked at EditableImage.java:[line 865]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='38' classname='it.tidalwave.image.EditableImage' start='824' end='824' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='38'><Message>Known null at EditableImage.java:[line 824]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.NullDerefProperty.DEREFS_IN_CATCH_BLOCKS' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.NullDerefProperty.LONG_RANGE_NULL_SOURCE' value='true'></Property></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='beee9788a81dd8d727ab8c0e7db62f8f' cweid='396' rank='20' abbrev='REC' category='STYLE' priority='3' type='REC_CATCH_EXCEPTION' instanceOccurrenceMax='0'><ShortMessage>Exception is caught when Exception is not thrown</ShortMessage><LongMessage>Exception is caught when Exception is not thrown in it.tidalwave.image.EditableImage.execute(Operation)</LongMessage><Class classname='it.tidalwave.image.EditableImage' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage</Message></Class><Method isStatic='false' classname='it.tidalwave.image.EditableImage' signature='(Lit/tidalwave/image/op/Operation;)Lit/tidalwave/image/EditableImage;' name='execute' primary='true'><SourceLine endBytecode='312' classname='it.tidalwave.image.EditableImage' start='485' end='498' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.EditableImage.execute(Operation)</Message></Method><SourceLine endBytecode='91' classname='it.tidalwave.image.EditableImage' start='496' end='496' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='91' primary='true'><Message>At EditableImage.java:[line 496]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a7b39de225f89cf443d378dcd2187dca' rank='14' abbrev='Se' category='BAD_PRACTICE' priority='1' type='SE_BAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Non-transient non-serializable instance field in serializable class</ShortMessage><LongMessage>Class it.tidalwave.image.EditableImage defines non-transient non-serializable instance field accessor</LongMessage><Class classname='it.tidalwave.image.EditableImage' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage</Message></Class><Field isStatic='false' classname='it.tidalwave.image.EditableImage' signature='Lit/tidalwave/image/op/AccessorOp;' name='accessor' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>In EditableImage.java</Message></SourceLine><Message>Field it.tidalwave.image.EditableImage.accessor</Message></Field><Type role='TYPE_FOUND' descriptor='Lit/tidalwave/image/op/AccessorOp;'><SourceLine classname='it.tidalwave.image.op.AccessorOp' start='41' end='42' sourcepath='it/tidalwave/image/op/AccessorOp.java' sourcefile='AccessorOp.java'><Message>At AccessorOp.java:[lines 41-42]</Message></SourceLine><Message>Actual type it.tidalwave.image.op.AccessorOp</Message></Type><SourceLine synthetic='true' classname='it.tidalwave.image.EditableImage' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>In EditableImage.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='80f88c3586c6f3c44b8e987a2ff52642' rank='19' abbrev='Se' category='BAD_PRACTICE' priority='3' type='SE_BAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Non-transient non-serializable instance field in serializable class</ShortMessage><LongMessage>Class it.tidalwave.image.EditableImage defines non-transient non-serializable instance field attributeMapByName</LongMessage><Class classname='it.tidalwave.image.EditableImage' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage</Message></Class><Field isStatic='false' classname='it.tidalwave.image.EditableImage' signature='Lit/tidalwave/util/TypeSafeMap;' name='attributeMapByName' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>In EditableImage.java</Message></SourceLine><Message>Field it.tidalwave.image.EditableImage.attributeMapByName</Message></Field><Type role='TYPE_FOUND' descriptor='Lit/tidalwave/util/TypeSafeMap;'><SourceLine classname='it.tidalwave.util.TypeSafeMap' start='81' end='217' sourcepath='it/tidalwave/util/TypeSafeMap.java' sourcefile='TypeSafeMap.java'><Message>At TypeSafeMap.java:[lines 81-217]</Message></SourceLine><Message>Actual type it.tidalwave.util.TypeSafeMap</Message></Type><SourceLine synthetic='true' classname='it.tidalwave.image.EditableImage' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>In EditableImage.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e8f826bc286df3ce802c02a74f8926ff' rank='7' abbrev='TQ' category='CORRECTNESS' priority='2' type='TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED' instanceOccurrenceMax='0'><ShortMessage>Value annotated as never carrying a type qualifier used where value carrying that qualifier is required</ShortMessage><LongMessage>Value annotated as never carrying type qualifier Nonnegative used where value carrying that qualifier is required</LongMessage><Class classname='it.tidalwave.image.EditableImage' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage' start='77' end='870' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 77-870]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage</Message></Class><Method isStatic='false' classname='it.tidalwave.image.EditableImage' signature='()Ljava/awt/color/ICC_Profile;' name='getICCProfile' primary='true'><SourceLine endBytecode='142' classname='it.tidalwave.image.EditableImage' start='690' end='703' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.EditableImage.getICCProfile()</Message></Method><Class role='CLASS_TYPE_QUALIFIER' classname='javax.annotation.Nonnegative'><SourceLine classname='javax.annotation.Nonnegative' sourcepath='javax/annotation/Nonnegative.java' sourcefile='Nonnegative.java'><Message>In Nonnegative.java</Message></SourceLine><Message>Type qualifier Nonnegative</Message></Class><String role='STRING_NONSTRING_CONSTANT' value='null'><Message>Constant value null</Message></String><SourceLine endBytecode='32' classname='it.tidalwave.image.EditableImage' start='703' end='703' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='32' primary='true'><Message>At EditableImage.java:[line 703]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='d07e2bcd0b2f0026642a5a1ebe0f2946' 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 it.tidalwave.image.EditableImage$Accessor(EditableImage) may expose internal representation by storing an externally mutable object into EditableImage$Accessor.image</LongMessage><Class classname='it.tidalwave.image.EditableImage$Accessor' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage$Accessor' start='128' end='148' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>At EditableImage.java:[lines 128-148]</Message></SourceLine><Message>In class it.tidalwave.image.EditableImage$Accessor</Message></Class><Method isStatic='false' classname='it.tidalwave.image.EditableImage$Accessor' signature='(Lit/tidalwave/image/EditableImage;)V' name='<init>' primary='true'><SourceLine endBytecode='96' classname='it.tidalwave.image.EditableImage$Accessor' start='128' end='128' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.EditableImage$Accessor(EditableImage)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.EditableImage$Accessor' signature='Lit/tidalwave/image/EditableImage;' name='image' primary='true'><SourceLine classname='it.tidalwave.image.EditableImage$Accessor' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java'><Message>In EditableImage.java</Message></SourceLine><Message>Field it.tidalwave.image.EditableImage$Accessor.image</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='20' name='image' register='1'><Message>Local variable named image</Message></LocalVariable><SourceLine endBytecode='20' classname='it.tidalwave.image.EditableImage$Accessor' start='128' end='128' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='20' primary='true'><Message>At EditableImage.java:[line 128]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='19ba69771e43e76f51674ac7b6e1e4ec' cweid='586' rank='16' abbrev='FI' category='BAD_PRACTICE' priority='2' type='FI_EMPTY' instanceOccurrenceMax='0'><ShortMessage>Empty finalizer should be deleted</ShortMessage><LongMessage>it.tidalwave.image.ImageModel.finalize() is empty and should be deleted</LongMessage><Class classname='it.tidalwave.image.ImageModel' primary='true'><SourceLine classname='it.tidalwave.image.ImageModel' start='58' end='387' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java'><Message>At ImageModel.java:[lines 58-387]</Message></SourceLine><Message>In class it.tidalwave.image.ImageModel</Message></Class><Method isStatic='false' classname='it.tidalwave.image.ImageModel' signature='()V' name='finalize' primary='true'><SourceLine endBytecode='42' classname='it.tidalwave.image.ImageModel' start='387' end='387' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.ImageModel.finalize()</Message></Method><SourceLine synthetic='true' endBytecode='42' classname='it.tidalwave.image.ImageModel' start='387' end='387' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java' startBytecode='0'><Message>At ImageModel.java:[line 387]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='d281bfa0ef87b38ca96ba72e4115a040' rank='20' abbrev='SIC' category='PERFORMANCE' priority='3' type='SIC_INNER_SHOULD_BE_STATIC_ANON' instanceOccurrenceMax='0'><ShortMessage>Could be refactored into a named static inner class</ShortMessage><LongMessage>The class it.tidalwave.image.ImageModel$1 could be refactored into a named _static_ inner class</LongMessage><Class role='CLASS_ANONYMOUS' classname='it.tidalwave.image.ImageModel$1'><SourceLine classname='it.tidalwave.image.ImageModel$1' start='243' end='256' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java'><Message>At ImageModel.java:[lines 243-256]</Message></SourceLine><Message>Anonymous class it.tidalwave.image.ImageModel$1</Message></Class><Class classname='it.tidalwave.image.ImageModel' primary='true'><SourceLine classname='it.tidalwave.image.ImageModel' start='58' end='387' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java'><Message>At ImageModel.java:[lines 58-387]</Message></SourceLine><Message>In class it.tidalwave.image.ImageModel</Message></Class><Method isStatic='false' classname='it.tidalwave.image.ImageModel' signature='(Ljava/io/ObjectOutput;)V' name='writeExternal' primary='true'><SourceLine endBytecode='193' classname='it.tidalwave.image.ImageModel' start='234' end='259' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.ImageModel.writeExternal(ObjectOutput)</Message></Method><SourceLine endBytecode='63' classname='it.tidalwave.image.ImageModel' start='242' end='242' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java' startBytecode='63' primary='true'><Message>At ImageModel.java:[line 242]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2a8163ea46b135c0c2f3b38ef05911df' rank='20' abbrev='SIC' category='PERFORMANCE' priority='3' type='SIC_INNER_SHOULD_BE_STATIC_ANON' instanceOccurrenceMax='0'><ShortMessage>Could be refactored into a named static inner class</ShortMessage><LongMessage>The class it.tidalwave.image.ImageModel$2 could be refactored into a named _static_ inner class</LongMessage><Class role='CLASS_ANONYMOUS' classname='it.tidalwave.image.ImageModel$2'><SourceLine classname='it.tidalwave.image.ImageModel$2' start='280' end='292' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java'><Message>At ImageModel.java:[lines 280-292]</Message></SourceLine><Message>Anonymous class it.tidalwave.image.ImageModel$2</Message></Class><Class classname='it.tidalwave.image.ImageModel' primary='true'><SourceLine classname='it.tidalwave.image.ImageModel' start='58' end='387' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java'><Message>At ImageModel.java:[lines 58-387]</Message></SourceLine><Message>In class it.tidalwave.image.ImageModel</Message></Class><Method isStatic='false' classname='it.tidalwave.image.ImageModel' signature='(Ljava/io/ObjectInput;)V' name='readExternal' primary='true'><SourceLine endBytecode='151' classname='it.tidalwave.image.ImageModel' start='269' end='296' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.ImageModel.readExternal(ObjectInput)</Message></Method><SourceLine endBytecode='59' classname='it.tidalwave.image.ImageModel' start='279' end='279' sourcepath='it/tidalwave/image/ImageModel.java' sourcefile='ImageModel.java' startBytecode='59' primary='true'><Message>At ImageModel.java:[line 279]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='ab463afbe831e89132afef9ab20439f2' cweid='218' rank='18' abbrev='MS' category='MALICIOUS_CODE' priority='2' type='MS_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>Public static method may expose internal representation by returning array</ShortMessage><LongMessage>Public static it.tidalwave.image.ImageModelCache.getInstance() may expose internal representation by returning ImageModelCache.instance</LongMessage><Class classname='it.tidalwave.image.ImageModelCache' primary='true'><SourceLine classname='it.tidalwave.image.ImageModelCache' start='45' end='99' sourcepath='it/tidalwave/image/ImageModelCache.java' sourcefile='ImageModelCache.java'><Message>At ImageModelCache.java:[lines 45-99]</Message></SourceLine><Message>In class it.tidalwave.image.ImageModelCache</Message></Class><Method isStatic='true' classname='it.tidalwave.image.ImageModelCache' signature='()Lit/tidalwave/image/ImageModelCache;' name='getInstance' primary='true'><SourceLine endBytecode='110' classname='it.tidalwave.image.ImageModelCache' start='90' end='99' sourcepath='it/tidalwave/image/ImageModelCache.java' sourcefile='ImageModelCache.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.ImageModelCache.getInstance()</Message></Method><Field isStatic='true' classname='it.tidalwave.image.ImageModelCache' signature='Lit/tidalwave/image/ImageModelCache;' name='instance' primary='true'><SourceLine classname='it.tidalwave.image.ImageModelCache' sourcepath='it/tidalwave/image/ImageModelCache.java' sourcefile='ImageModelCache.java'><Message>In ImageModelCache.java</Message></SourceLine><Message>Field it.tidalwave.image.ImageModelCache.instance</Message></Field><SourceLine endBytecode='21' classname='it.tidalwave.image.ImageModelCache' start='95' end='95' sourcepath='it/tidalwave/image/ImageModelCache.java' sourcefile='ImageModelCache.java' startBytecode='21' primary='true'><Message>At ImageModelCache.java:[line 95]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='7d007235f6dc28a8c8bca461f9e5fb5c' rank='19' abbrev='SnVI' category='BAD_PRACTICE' priority='3' type='SE_NO_SERIALVERSIONID' instanceOccurrenceMax='0'><ShortMessage>Class is Serializable, but doesn't define serialVersionUID</ShortMessage><LongMessage>it.tidalwave.image.Rational is Serializable; consider declaring a serialVersionUID</LongMessage><Class classname='it.tidalwave.image.Rational' primary='true'><SourceLine classname='it.tidalwave.image.Rational' start='40' end='183' sourcepath='it/tidalwave/image/Rational.java' sourcefile='Rational.java'><Message>At Rational.java:[lines 40-183]</Message></SourceLine><Message>In class it.tidalwave.image.Rational</Message></Class><SourceLine synthetic='true' classname='it.tidalwave.image.Rational' start='40' end='183' sourcepath='it/tidalwave/image/Rational.java' sourcefile='Rational.java'><Message>At Rational.java:[lines 40-183]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='f45353209396ca0f6479cdae2031f4cf' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.SerializableImageModelHolder.get() may expose internal representation by returning SerializableImageModelHolder.imageModel</LongMessage><Class classname='it.tidalwave.image.SerializableImageModelHolder' primary='true'><SourceLine classname='it.tidalwave.image.SerializableImageModelHolder' start='34' end='54' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java'><Message>At SerializableImageModelHolder.java:[lines 34-54]</Message></SourceLine><Message>In class it.tidalwave.image.SerializableImageModelHolder</Message></Class><Method isStatic='false' classname='it.tidalwave.image.SerializableImageModelHolder' signature='()Lit/tidalwave/image/ImageModel;' name='get' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.SerializableImageModelHolder' start='47' end='47' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.SerializableImageModelHolder.get()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.SerializableImageModelHolder' signature='Lit/tidalwave/image/ImageModel;' name='imageModel' primary='true'><SourceLine classname='it.tidalwave.image.SerializableImageModelHolder' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java'><Message>In SerializableImageModelHolder.java</Message></SourceLine><Message>Field it.tidalwave.image.SerializableImageModelHolder.imageModel</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.SerializableImageModelHolder' start='47' end='47' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java' startBytecode='4' primary='true'><Message>At SerializableImageModelHolder.java:[line 47]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6e7ac1179416117463a1b0f6faaf3d8' 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>it.tidalwave.image.SerializableImageModelHolder.set(ImageModel) may expose internal representation by storing an externally mutable object into SerializableImageModelHolder.imageModel</LongMessage><Class classname='it.tidalwave.image.SerializableImageModelHolder' primary='true'><SourceLine classname='it.tidalwave.image.SerializableImageModelHolder' start='34' end='54' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java'><Message>At SerializableImageModelHolder.java:[lines 34-54]</Message></SourceLine><Message>In class it.tidalwave.image.SerializableImageModelHolder</Message></Class><Method isStatic='false' classname='it.tidalwave.image.SerializableImageModelHolder' signature='(Lit/tidalwave/image/ImageModel;)V' name='set' primary='true'><SourceLine endBytecode='61' classname='it.tidalwave.image.SerializableImageModelHolder' start='41' end='42' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.SerializableImageModelHolder.set(ImageModel)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.SerializableImageModelHolder' signature='Lit/tidalwave/image/ImageModel;' name='imageModel' primary='true'><SourceLine classname='it.tidalwave.image.SerializableImageModelHolder' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java'><Message>In SerializableImageModelHolder.java</Message></SourceLine><Message>Field it.tidalwave.image.SerializableImageModelHolder.imageModel</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='2' name='imageModel' register='1'><Message>Local variable named imageModel</Message></LocalVariable><SourceLine endBytecode='2' classname='it.tidalwave.image.SerializableImageModelHolder' start='41' end='41' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java' startBytecode='2' primary='true'><Message>At SerializableImageModelHolder.java:[line 41]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='304b209682d6dc7bf3f1f6f1637f67b9' rank='19' abbrev='SnVI' category='BAD_PRACTICE' priority='3' type='SE_NO_SERIALVERSIONID' instanceOccurrenceMax='0'><ShortMessage>Class is Serializable, but doesn't define serialVersionUID</ShortMessage><LongMessage>it.tidalwave.image.SerializableImageModelHolder is Serializable; consider declaring a serialVersionUID</LongMessage><Class classname='it.tidalwave.image.SerializableImageModelHolder' primary='true'><SourceLine classname='it.tidalwave.image.SerializableImageModelHolder' start='34' end='54' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java'><Message>At SerializableImageModelHolder.java:[lines 34-54]</Message></SourceLine><Message>In class it.tidalwave.image.SerializableImageModelHolder</Message></Class><SourceLine synthetic='true' classname='it.tidalwave.image.SerializableImageModelHolder' start='34' end='54' sourcepath='it/tidalwave/image/SerializableImageModelHolder.java' sourcefile='SerializableImageModelHolder.java'><Message>At SerializableImageModelHolder.java:[lines 34-54]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b34cf9a2067d585e5c75480718aed77' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of it.tidalwave.image.java2d.ImageModelJ2D.getBufferedImage(), which is known to be non-null in it.tidalwave.image.java2d.ImageModelJ2D.getMemorySize()</LongMessage><Class classname='it.tidalwave.image.java2d.ImageModelJ2D' primary='true'><SourceLine classname='it.tidalwave.image.java2d.ImageModelJ2D' start='55' end='270' sourcepath='it/tidalwave/image/java2d/ImageModelJ2D.java' sourcefile='ImageModelJ2D.java'><Message>At ImageModelJ2D.java:[lines 55-270]</Message></SourceLine><Message>In class it.tidalwave.image.java2d.ImageModelJ2D</Message></Class><Method isStatic='false' classname='it.tidalwave.image.java2d.ImageModelJ2D' signature='()J' name='getMemorySize' primary='true'><SourceLine endBytecode='78' classname='it.tidalwave.image.java2d.ImageModelJ2D' start='184' end='184' sourcepath='it/tidalwave/image/java2d/ImageModelJ2D.java' sourcefile='ImageModelJ2D.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.java2d.ImageModelJ2D.getMemorySize()</Message></Method><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.java2d.ImageModelJ2D' signature='()Ljava/awt/image/BufferedImage;' name='getBufferedImage'><SourceLine endBytecode='49' classname='it.tidalwave.image.java2d.ImageModelJ2D' start='270' end='270' sourcepath='it/tidalwave/image/java2d/ImageModelJ2D.java' sourcefile='ImageModelJ2D.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.java2d.ImageModelJ2D.getBufferedImage() of type java.awt.image.BufferedImage</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='4' classname='it.tidalwave.image.java2d.ImageModelJ2D' start='184' end='184' sourcepath='it/tidalwave/image/java2d/ImageModelJ2D.java' sourcefile='ImageModelJ2D.java' startBytecode='4' primary='true'><Message>Redundant null check at ImageModelJ2D.java:[line 184]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='ad2e1e9aaa6270935b01394e34517058' cweid='396' rank='20' abbrev='REC' category='STYLE' priority='3' type='REC_CATCH_EXCEPTION' instanceOccurrenceMax='0'><ShortMessage>Exception is caught when Exception is not thrown</ShortMessage><LongMessage>Exception is caught when Exception is not thrown in it.tidalwave.image.java2d.ImplementationFactoryJ2D.convertFrom(Object)</LongMessage><Class classname='it.tidalwave.image.java2d.ImplementationFactoryJ2D' primary='true'><SourceLine classname='it.tidalwave.image.java2d.ImplementationFactoryJ2D' start='56' end='196' sourcepath='it/tidalwave/image/java2d/ImplementationFactoryJ2D.java' sourcefile='ImplementationFactoryJ2D.java'><Message>At ImplementationFactoryJ2D.java:[lines 56-196]</Message></SourceLine><Message>In class it.tidalwave.image.java2d.ImplementationFactoryJ2D</Message></Class><Method isStatic='false' classname='it.tidalwave.image.java2d.ImplementationFactoryJ2D' signature='(Ljava/lang/Object;)Lit/tidalwave/image/ImageModel;' name='convertFrom' primary='true'><SourceLine endBytecode='222' classname='it.tidalwave.image.java2d.ImplementationFactoryJ2D' start='148' end='168' sourcepath='it/tidalwave/image/java2d/ImplementationFactoryJ2D.java' sourcefile='ImplementationFactoryJ2D.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.java2d.ImplementationFactoryJ2D.convertFrom(Object)</Message></Method><SourceLine endBytecode='60' classname='it.tidalwave.image.java2d.ImplementationFactoryJ2D' start='162' end='162' sourcepath='it/tidalwave/image/java2d/ImplementationFactoryJ2D.java' sourcefile='ImplementationFactoryJ2D.java' startBytecode='60' primary='true'><Message>At ImplementationFactoryJ2D.java:[line 162]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='d33c629a74c4a6be724e94f752cfe8a8' cweid='192' rank='17' abbrev='ICAST' category='STYLE' priority='2' type='ICAST_IDIV_CAST_TO_DOUBLE' instanceOccurrenceMax='0'><ShortMessage>Integral division result cast to double or float</ShortMessage><LongMessage>Integral division result cast to double or float in it.tidalwave.image.java2d.Java2DUtils.rotateWithDrawImage(BufferedImage, double, Quality)</LongMessage><Class classname='it.tidalwave.image.java2d.Java2DUtils' primary='true'><SourceLine classname='it.tidalwave.image.java2d.Java2DUtils' start='64' end='806' sourcepath='it/tidalwave/image/java2d/Java2DUtils.java' sourcefile='Java2DUtils.java'><Message>At Java2DUtils.java:[lines 64-806]</Message></SourceLine><Message>In class it.tidalwave.image.java2d.Java2DUtils</Message></Class><Method isStatic='true' classname='it.tidalwave.image.java2d.Java2DUtils' signature='(Ljava/awt/image/BufferedImage;DLit/tidalwave/image/Quality;)Ljava/awt/image/BufferedImage;' name='rotateWithDrawImage' primary='true'><SourceLine endBytecode='485' classname='it.tidalwave.image.java2d.Java2DUtils' start='343' end='367' sourcepath='it/tidalwave/image/java2d/Java2DUtils.java' sourcefile='Java2DUtils.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.java2d.Java2DUtils.rotateWithDrawImage(BufferedImage, double, Quality)</Message></Method><SourceLine endBytecode='127' classname='it.tidalwave.image.java2d.Java2DUtils' start='357' end='357' sourcepath='it/tidalwave/image/java2d/Java2DUtils.java' sourcefile='Java2DUtils.java' startBytecode='127' primary='true'><Message>At Java2DUtils.java:[line 357]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='151' classname='it.tidalwave.image.java2d.Java2DUtils' start='358' end='358' sourcepath='it/tidalwave/image/java2d/Java2DUtils.java' sourcefile='Java2DUtils.java' startBytecode='151'><Message>Another occurrence at Java2DUtils.java:[line 358]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='752bbbda81584d2fcd0ab6f2ec813743' 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 newHeight in it.tidalwave.image.java2d.RotateQuadrantJ2DOp.execute(RotateQuadrantOp, EditableImage, BufferedImage)</LongMessage><Class classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' primary='true'><SourceLine classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='43' end='122' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java'><Message>At RotateQuadrantJ2DOp.java:[lines 43-122]</Message></SourceLine><Message>In class it.tidalwave.image.java2d.RotateQuadrantJ2DOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' signature='(Lit/tidalwave/image/op/RotateQuadrantOp;Lit/tidalwave/image/EditableImage;Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;' name='execute' primary='true'><SourceLine endBytecode='109' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='56' end='122' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.java2d.RotateQuadrantJ2DOp.execute(RotateQuadrantOp, EditableImage, BufferedImage)</Message></Method><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='49' name='newHeight' register='6'><Message>Local variable named newHeight</Message></LocalVariable><SourceLine endBytecode='47' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='66' end='66' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java' startBytecode='47' primary='true'><Message>At RotateQuadrantJ2DOp.java:[line 66]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.BASE_VALUE' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='newHeight'></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='a69c823310421aa03ad21f9b6a191874' 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 newWidth in it.tidalwave.image.java2d.RotateQuadrantJ2DOp.execute(RotateQuadrantOp, EditableImage, BufferedImage)</LongMessage><Class classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' primary='true'><SourceLine classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='43' end='122' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java'><Message>At RotateQuadrantJ2DOp.java:[lines 43-122]</Message></SourceLine><Message>In class it.tidalwave.image.java2d.RotateQuadrantJ2DOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' signature='(Lit/tidalwave/image/op/RotateQuadrantOp;Lit/tidalwave/image/EditableImage;Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;' name='execute' primary='true'><SourceLine endBytecode='109' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='56' end='122' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.java2d.RotateQuadrantJ2DOp.execute(RotateQuadrantOp, EditableImage, BufferedImage)</Message></Method><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='43' name='newWidth' register='5'><Message>Local variable named newWidth</Message></LocalVariable><SourceLine endBytecode='41' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='65' end='65' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java' startBytecode='41' primary='true'><Message>At RotateQuadrantJ2DOp.java:[line 65]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.BASE_VALUE' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='newWidth'></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='fb67f54520ec137c4769ac06e3ea7e39' rank='19' abbrev='SF' category='STYLE' priority='2' type='SF_SWITCH_NO_DEFAULT' instanceOccurrenceMax='0'><ShortMessage>Switch statement found where default case is missing</ShortMessage><LongMessage>Switch statement found in it.tidalwave.image.java2d.RotateQuadrantJ2DOp.execute(RotateQuadrantOp, EditableImage, BufferedImage) where default case is missing</LongMessage><Class classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' primary='true'><SourceLine classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='43' end='122' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java'><Message>At RotateQuadrantJ2DOp.java:[lines 43-122]</Message></SourceLine><Message>In class it.tidalwave.image.java2d.RotateQuadrantJ2DOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' signature='(Lit/tidalwave/image/op/RotateQuadrantOp;Lit/tidalwave/image/EditableImage;Ljava/awt/image/BufferedImage;)Ljava/awt/image/BufferedImage;' name='execute' primary='true'><SourceLine endBytecode='695' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='56' end='122' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.java2d.RotateQuadrantJ2DOp.execute(RotateQuadrantOp, EditableImage, BufferedImage)</Message></Method><SourceLine endBytecode='221' classname='it.tidalwave.image.java2d.RotateQuadrantJ2DOp' start='93' end='107' sourcepath='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' sourcefile='RotateQuadrantJ2DOp.java' startBytecode='153' primary='true'><Message>At RotateQuadrantJ2DOp.java:[lines 93-107]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='671d2a2cc7683fb567fe0702c54b1785' cweid='366' rank='20' abbrev='IS' category='MT_CORRECTNESS' priority='3' type='IS2_INCONSISTENT_SYNC' instanceOccurrenceMax='0'><ShortMessage>Inconsistent synchronization</ShortMessage><LongMessage>Inconsistent synchronization of it.tidalwave.image.metadata.Directory.latestModificationTime; locked 50% of time</LongMessage><Class classname='it.tidalwave.image.metadata.Directory' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' start='69' end='745' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 69-745]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.Directory' signature='Ljava/time/Instant;' name='latestModificationTime' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>In Directory.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.Directory.latestModificationTime</Message></Field><Int role='INT_SYNC_PERCENT' value='50'><Message>Synchronized 50% of the time</Message></Int><SourceLine role='SOURCE_LINE_UNSYNC_ACCESS' endBytecode='1' classname='it.tidalwave.image.metadata.Directory' start='418' end='418' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='1' primary='true'><Message>Unsynchronized access at Directory.java:[line 418]</Message></SourceLine><SourceLine role='SOURCE_LINE_SYNC_ACCESS' endBytecode='4' classname='it.tidalwave.image.metadata.Directory' start='530' end='530' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='4'><Message>Synchronized access at Directory.java:[line 530]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.InconsistentSyncWarningProperty.ONLY_UNSYNC_IN_GETTERS' value='true'></Property></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6e215ae98d3572ffae38aade6bbf6e37' cweid='218' rank='18' abbrev='MS' category='MALICIOUS_CODE' priority='2' type='MS_MUTABLE_COLLECTION_PKGPROTECT' instanceOccurrenceMax='0'><ShortMessage>Field is a mutable collection which should be package protected</ShortMessage><LongMessage>it.tidalwave.image.metadata.Directory.tagMapByCode is a mutable collection which should be package protected</LongMessage><Class classname='it.tidalwave.image.metadata.Directory' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' start='69' end='745' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 69-745]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory</Message></Class><Field isStatic='true' classname='it.tidalwave.image.metadata.Directory' signature='Ljava/util/Map;' name='tagMapByCode' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>In Directory.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.Directory.tagMapByCode</Message></Field><SourceLine endBytecode='56' classname='it.tidalwave.image.metadata.Directory' start='99' end='99' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='56' primary='true'><Message>At Directory.java:[line 99]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2c6710c7760ffd5c950c260d33463d4a' cweid='396' rank='20' abbrev='REC' category='STYLE' priority='3' type='REC_CATCH_EXCEPTION' instanceOccurrenceMax='0'><ShortMessage>Exception is caught when Exception is not thrown</ShortMessage><LongMessage>Exception is caught when Exception is not thrown in it.tidalwave.image.metadata.Directory.cast(Object, Class, int)</LongMessage><Class classname='it.tidalwave.image.metadata.Directory' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' start='69' end='745' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 69-745]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory' signature='(Ljava/lang/Object;Ljava/lang/Class;I)Ljava/lang/Object;' name='cast' primary='true'><SourceLine endBytecode='508' classname='it.tidalwave.image.metadata.Directory' start='547' end='598' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory.cast(Object, Class, int)</Message></Method><SourceLine endBytecode='65' classname='it.tidalwave.image.metadata.Directory' start='562' end='562' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='65' primary='true'><Message>At Directory.java:[line 562]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='5809c8a1a50f9fef91a58285db233191' rank='19' abbrev='Se' category='BAD_PRACTICE' priority='3' type='SE_TRANSIENT_FIELD_NOT_RESTORED' instanceOccurrenceMax='0'><ShortMessage>Transient field that isn't set by deserialization.</ShortMessage><LongMessage>The field it.tidalwave.image.metadata.Directory.idForToString is transient but isn't set by deserialization</LongMessage><Class classname='it.tidalwave.image.metadata.Directory' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' start='69' end='745' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 69-745]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.Directory' signature='I' name='idForToString' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>In Directory.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.Directory.idForToString</Message></Field><SourceLine synthetic='true' classname='it.tidalwave.image.metadata.Directory' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>In Directory.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c3a3247b486ac28b3a6be9ebf3d7464a' rank='20' abbrev='ST' category='STYLE' priority='3' type='ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD' instanceOccurrenceMax='0'><ShortMessage>Write to static field from instance method</ShortMessage><LongMessage>Write to static field it.tidalwave.image.metadata.Directory.nextId from instance method it.tidalwave.image.metadata.Directory.toString()</LongMessage><Class classname='it.tidalwave.image.metadata.Directory' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' start='69' end='745' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 69-745]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory' signature='()Ljava/lang/String;' name='toString' primary='true'><SourceLine endBytecode='227' classname='it.tidalwave.image.metadata.Directory' start='506' end='521' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory.toString()</Message></Method><Field isStatic='true' classname='it.tidalwave.image.metadata.Directory' signature='I' name='nextId' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>In Directory.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.Directory.nextId</Message></Field><SourceLine endBytecode='18' classname='it.tidalwave.image.metadata.Directory' start='510' end='510' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='18' primary='true'><Message>At Directory.java:[line 510]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='caade1127733850a175da0aa6acb7d6c' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of this$name, which is known to be non-null in it.tidalwave.image.metadata.Directory$Tag.equals(Object)</LongMessage><Class classname='it.tidalwave.image.metadata.Directory$Tag' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 79-91]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory$Tag</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory$Tag' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='353' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory$Tag.equals(Object)</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='55' name='this$name' register='3'><Message>Value loaded from this$name</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()Ljava/lang/String;' name='getName'><SourceLine endBytecode='64' classname='it.tidalwave.image.metadata.Directory$Tag' start='85' end='85' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.Directory$Tag.getName() of type String</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='56' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='56' primary='true'><Message>Redundant null check at Directory.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='64f1fae350961e6962fc9bff64cb3972' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of this$propertyName, which is known to be non-null in it.tidalwave.image.metadata.Directory$Tag.equals(Object)</LongMessage><Class classname='it.tidalwave.image.metadata.Directory$Tag' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 79-91]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory$Tag</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory$Tag' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='353' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory$Tag.equals(Object)</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='90' name='this$propertyName' register='5'><Message>Value loaded from this$propertyName</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()Ljava/lang/String;' name='getPropertyName'><SourceLine endBytecode='64' classname='it.tidalwave.image.metadata.Directory$Tag' start='88' end='88' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.Directory$Tag.getPropertyName() of type String</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='92' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='92' primary='true'><Message>Redundant null check at Directory.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c2639b1ff8a035bc4af3af24b64fbca9' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of this$type, which is known to be non-null in it.tidalwave.image.metadata.Directory$Tag.equals(Object)</LongMessage><Class classname='it.tidalwave.image.metadata.Directory$Tag' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 79-91]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory$Tag</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory$Tag' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='353' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory$Tag.equals(Object)</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='127' name='this$type' register='7'><Message>Value loaded from this$type</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()Ljava/lang/Class;' name='getType'><SourceLine endBytecode='64' classname='it.tidalwave.image.metadata.Directory$Tag' start='91' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.Directory$Tag.getType() of type Class</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='129' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='129' primary='true'><Message>Redundant null check at Directory.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='3e7c106363b452f40026eabdcd85d7f1' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of $name, which is known to be non-null in it.tidalwave.image.metadata.Directory$Tag.hashCode()</LongMessage><Class classname='it.tidalwave.image.metadata.Directory$Tag' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 79-91]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory$Tag</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()I' name='hashCode' primary='true'><SourceLine endBytecode='329' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory$Tag.hashCode()</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='24' name='$name' register='3'><Message>Value loaded from $name</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()Ljava/lang/String;' name='getName'><SourceLine endBytecode='64' classname='it.tidalwave.image.metadata.Directory$Tag' start='85' end='85' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.Directory$Tag.getName() of type String</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='25' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='25' primary='true'><Message>Redundant null check at Directory.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='75e73c7f73baf8386a78ceef7d85cf68' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of $propertyName, which is known to be non-null in it.tidalwave.image.metadata.Directory$Tag.hashCode()</LongMessage><Class classname='it.tidalwave.image.metadata.Directory$Tag' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 79-91]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory$Tag</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()I' name='hashCode' primary='true'><SourceLine endBytecode='329' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory$Tag.hashCode()</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='49' name='$propertyName' register='4'><Message>Value loaded from $propertyName</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()Ljava/lang/String;' name='getPropertyName'><SourceLine endBytecode='64' classname='it.tidalwave.image.metadata.Directory$Tag' start='88' end='88' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.Directory$Tag.getPropertyName() of type String</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='51' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='51' primary='true'><Message>Redundant null check at Directory.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='fbd8b870b534180720dc0f21703ba889' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of $type, which is known to be non-null in it.tidalwave.image.metadata.Directory$Tag.hashCode()</LongMessage><Class classname='it.tidalwave.image.metadata.Directory$Tag' primary='true'><SourceLine classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java'><Message>At Directory.java:[lines 79-91]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.Directory$Tag</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()I' name='hashCode' primary='true'><SourceLine endBytecode='329' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.Directory$Tag.hashCode()</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='76' name='$type' register='5'><Message>Value loaded from $type</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.Directory$Tag' signature='()Ljava/lang/Class;' name='getType'><SourceLine endBytecode='64' classname='it.tidalwave.image.metadata.Directory$Tag' start='91' end='91' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.Directory$Tag.getType() of type Class</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='78' classname='it.tidalwave.image.metadata.Directory$Tag' start='79' end='79' sourcepath='it/tidalwave/image/metadata/Directory.java' sourcefile='Directory.java' startBytecode='78' primary='true'><Message>Redundant null check at Directory.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='5fa8d7d644e6573bcd0e925ca11dfb16' 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 it.tidalwave.image.metadata.EXIF.getOriginalRawFileName(): new String(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='()Ljava/util/Optional;' name='getOriginalRawFileName' primary='true'><SourceLine endBytecode='111' classname='it.tidalwave.image.metadata.EXIF' start='202' end='209' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.getOriginalRawFileName()</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='([B)V' name='<init>'><SourceLine endBytecode='64' classname='java.lang.String' start='614' end='615' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method new String(byte[])</Message></Method><SourceLine endBytecode='22' classname='it.tidalwave.image.metadata.EXIF' start='206' end='206' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='22' primary='true'><Message>At EXIF.java:[line 206]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='f13b623be25c9d353422c435b1c281da' 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 it.tidalwave.image.metadata.EXIF.getUserComment(): String.getBytes()</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='()Ljava/util/Optional;' name='getUserComment' primary='true'><SourceLine endBytecode='125' classname='it.tidalwave.image.metadata.EXIF' start='152' end='158' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.getUserComment()</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='()[B' name='getBytes'><SourceLine endBytecode='53' classname='java.lang.String' start='981' end='981' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method String.getBytes()</Message></Method><SourceLine endBytecode='25' classname='it.tidalwave.image.metadata.EXIF' start='158' end='158' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='25' primary='true'><Message>At EXIF.java:[line 158]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='dfa4e2070a4190e310969e88fe07f8b8' 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 it.tidalwave.image.metadata.EXIF.getUserCommentAsString(): new String(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='()Ljava/util/Optional;' name='getUserCommentAsString' primary='true'><SourceLine endBytecode='156' classname='it.tidalwave.image.metadata.EXIF' start='169' end='182' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.getUserCommentAsString()</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='([B)V' name='<init>'><SourceLine endBytecode='64' classname='java.lang.String' start='614' end='615' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method new String(byte[])</Message></Method><SourceLine endBytecode='23' classname='it.tidalwave.image.metadata.EXIF' start='174' end='174' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='23' primary='true'><Message>At EXIF.java:[line 174]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='42f8a778713a5d59988ebdc949b2539a' 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 it.tidalwave.image.metadata.EXIF.setUserCommentAsString(String): String.getBytes()</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='(Ljava/lang/String;)V' name='setUserCommentAsString' primary='true'><SourceLine endBytecode='108' classname='it.tidalwave.image.metadata.EXIF' start='191' end='192' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.setUserCommentAsString(String)</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='()[B' name='getBytes'><SourceLine endBytecode='53' classname='java.lang.String' start='981' end='981' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method String.getBytes()</Message></Method><SourceLine endBytecode='15' classname='it.tidalwave.image.metadata.EXIF' start='191' end='191' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='15' primary='true'><Message>At EXIF.java:[line 191]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='294d37afcbb53e51f6642fefebce3000' cweid='192' rank='20' abbrev='ICAST' category='STYLE' priority='3' type='ICAST_INTEGER_MULTIPLY_CAST_TO_LONG' instanceOccurrenceMax='0'><ShortMessage>Result of integer multiplication cast to long</ShortMessage><LongMessage>Result of integer multiplication cast to long in it.tidalwave.image.metadata.EXIF.adjust(Instant, String)</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='(Ljava/time/Instant;Ljava/lang/String;)Ljava/time/Instant;' name='adjust' primary='true'><SourceLine endBytecode='100' classname='it.tidalwave.image.metadata.EXIF' start='318' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.adjust(Instant, String)</Message></Method><SourceLine endBytecode='14' classname='it.tidalwave.image.metadata.EXIF' start='323' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='14' primary='true'><Message>At EXIF.java:[line 323]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='dff55fe4ca605a5c345e37a25ef14170' cweid='476' rank='6' abbrev='NP' category='CORRECTNESS' priority='1' type='NP_NONNULL_RETURN_VIOLATION' instanceOccurrenceMax='0'><ShortMessage>Method may return null, but is declared @Nonnull</ShortMessage><LongMessage>it.tidalwave.image.metadata.EXIF.adjust(Instant, String) may return null, but is declared @Nonnull</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='(Ljava/time/Instant;Ljava/lang/String;)Ljava/time/Instant;' name='adjust' primary='true'><SourceLine endBytecode='100' classname='it.tidalwave.image.metadata.EXIF' start='318' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.adjust(Instant, String)</Message></Method><SourceLine endBytecode='5' classname='it.tidalwave.image.metadata.EXIF' start='320' end='320' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='5' primary='true'><Message>At EXIF.java:[line 320]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e10ba5e7c150c00fdfc7d24acf60f1c2' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='0'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in it.tidalwave.image.metadata.EXIF.getUserComment() due to return value of called method</LongMessage><Class classname='it.tidalwave.image.metadata.EXIF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.EXIF' start='42' end='323' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java'><Message>At EXIF.java:[lines 42-323]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.EXIF</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.EXIF' signature='()Ljava/util/Optional;' name='getUserComment' primary='true'><SourceLine endBytecode='125' classname='it.tidalwave.image.metadata.EXIF' start='152' end='158' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.EXIF.getUserComment()</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='15' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_DEREF' endBytecode='15' classname='it.tidalwave.image.metadata.EXIF' start='156' end='156' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='15' primary='true'><Message>Dereferenced at EXIF.java:[line 156]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='9' classname='it.tidalwave.image.metadata.EXIF' start='156' end='156' sourcepath='it/tidalwave/image/metadata/EXIF.java' sourcefile='EXIF.java' startBytecode='9'><Message>Known null at EXIF.java:[line 156]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='4cc116268469e751620355573038c1f6' rank='19' abbrev='SnVI' category='BAD_PRACTICE' priority='3' type='SE_NO_SERIALVERSIONID' instanceOccurrenceMax='0'><ShortMessage>Class is Serializable, but doesn't define serialVersionUID</ShortMessage><LongMessage>it.tidalwave.image.metadata.MakerNote is Serializable; consider declaring a serialVersionUID</LongMessage><Class classname='it.tidalwave.image.metadata.MakerNote' primary='true'><SourceLine classname='it.tidalwave.image.metadata.MakerNote' start='34' end='34' sourcepath='it/tidalwave/image/metadata/MakerNote.java' sourcefile='MakerNote.java'><Message>At MakerNote.java:[line 34]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.MakerNote</Message></Class><SourceLine synthetic='true' classname='it.tidalwave.image.metadata.MakerNote' start='34' end='34' sourcepath='it/tidalwave/image/metadata/MakerNote.java' sourcefile='MakerNote.java'><Message>At MakerNote.java:[line 34]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='852203a20a5104a41a437a9b2e1c249e' rank='16' abbrev='Se' category='BAD_PRACTICE' priority='2' type='SE_BAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Non-transient non-serializable instance field in serializable class</ShortMessage><LongMessage>Class it.tidalwave.image.metadata.TIFF defines non-transient non-serializable instance field wangAnnotations</LongMessage><Class classname='it.tidalwave.image.metadata.TIFF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.TIFF' start='47' end='65' sourcepath='it/tidalwave/image/metadata/TIFF.java' sourcefile='TIFF.java'><Message>At TIFF.java:[lines 47-65]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.TIFF</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.TIFF' signature='Lit/tidalwave/image/metadata/WangAnnotations;' name='wangAnnotations' primary='true'><SourceLine classname='it.tidalwave.image.metadata.TIFF' sourcepath='it/tidalwave/image/metadata/TIFF.java' sourcefile='TIFF.java'><Message>In TIFF.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.TIFF.wangAnnotations</Message></Field><Type role='TYPE_FOUND' descriptor='Lit/tidalwave/image/metadata/WangAnnotations;'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations' start='49' end='324' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 49-324]</Message></SourceLine><Message>Actual type it.tidalwave.image.metadata.WangAnnotations</Message></Type><SourceLine synthetic='true' classname='it.tidalwave.image.metadata.TIFF' sourcepath='it/tidalwave/image/metadata/TIFF.java' sourcefile='TIFF.java'><Message>In TIFF.java</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='8bb417f5ecad6d1bac07c77ca182cd20' rank='19' abbrev='SnVI' category='BAD_PRACTICE' priority='3' type='SE_NO_SERIALVERSIONID' instanceOccurrenceMax='0'><ShortMessage>Class is Serializable, but doesn't define serialVersionUID</ShortMessage><LongMessage>it.tidalwave.image.metadata.TIFF is Serializable; consider declaring a serialVersionUID</LongMessage><Class classname='it.tidalwave.image.metadata.TIFF' primary='true'><SourceLine classname='it.tidalwave.image.metadata.TIFF' start='47' end='65' sourcepath='it/tidalwave/image/metadata/TIFF.java' sourcefile='TIFF.java'><Message>At TIFF.java:[lines 47-65]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.TIFF</Message></Class><SourceLine synthetic='true' classname='it.tidalwave.image.metadata.TIFF' start='47' end='65' sourcepath='it/tidalwave/image/metadata/TIFF.java' sourcefile='TIFF.java'><Message>At TIFF.java:[lines 47-65]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='55ab7fc7c2b3e775d462d941d607d3f' 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 header in new it.tidalwave.image.metadata.WangAnnotations(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations' start='49' end='324' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 49-324]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations' signature='([B)V' name='<init>' primary='true'><SourceLine endBytecode='141' classname='it.tidalwave.image.metadata.WangAnnotations' start='266' end='316' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations(byte[])</Message></Method><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='46' name='header' register='4'><Message>Local variable named header</Message></LocalVariable><SourceLine endBytecode='44' classname='it.tidalwave.image.metadata.WangAnnotations' start='271' end='271' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='44' primary='true'><Message>At WangAnnotations.java:[line 271]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.BASE_VALUE' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='header'></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='ffb11e4ecdc30c1ce6f807b7b753411b' 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 new it.tidalwave.image.metadata.WangAnnotations(byte[]): new String(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations' start='49' end='324' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 49-324]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations' signature='([B)V' name='<init>' primary='true'><SourceLine endBytecode='762' classname='it.tidalwave.image.metadata.WangAnnotations' start='266' end='316' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations(byte[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='([B)V' name='<init>'><SourceLine endBytecode='64' classname='java.lang.String' start='614' end='615' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method new String(byte[])</Message></Method><SourceLine endBytecode='159' classname='it.tidalwave.image.metadata.WangAnnotations' start='287' end='287' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='159' primary='true'><Message>At WangAnnotations.java:[line 287]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a3a624cf75a3c6c1ef36344fe2ed5e16' rank='16' abbrev='RR' category='BAD_PRACTICE' priority='2' type='RR_NOT_CHECKED' instanceOccurrenceMax='0'><ShortMessage>Method ignores results of InputStream.read()</ShortMessage><LongMessage>new it.tidalwave.image.metadata.WangAnnotations(byte[]) ignores result of javax.imageio.stream.ImageInputStream.read(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations' start='49' end='324' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 49-324]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations' signature='([B)V' name='<init>' primary='true'><SourceLine endBytecode='762' classname='it.tidalwave.image.metadata.WangAnnotations' start='266' end='316' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations(byte[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='javax.imageio.stream.ImageInputStream' signature='([B)I' name='read'><SourceLine classname='javax.imageio.stream.ImageInputStream' sourcepath='javax/imageio/stream/ImageInputStream.java' sourcefile='ImageInputStream.java'></SourceLine><Message>Called method javax.imageio.stream.ImageInputStream.read(byte[])</Message></Method><SourceLine endBytecode='147' classname='it.tidalwave.image.metadata.WangAnnotations' start='286' end='286' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='147' primary='true'><Message>At WangAnnotations.java:[line 286]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='181' classname='it.tidalwave.image.metadata.WangAnnotations' start='291' end='291' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='181'><Message>Another occurrence at WangAnnotations.java:[line 291]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='288' classname='it.tidalwave.image.metadata.WangAnnotations' start='310' end='310' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='288'><Message>Another occurrence at WangAnnotations.java:[line 310]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='33b82f5df88ca72ce99685c96ba1f343' rank='16' abbrev='RR' category='BAD_PRACTICE' priority='2' type='RR_NOT_CHECKED' instanceOccurrenceMax='0'><ShortMessage>Method ignores results of InputStream.read()</ShortMessage><LongMessage>new it.tidalwave.image.metadata.WangAnnotations$Attributes(byte[]) ignores result of javax.imageio.stream.ImageInputStream.read(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='121' end='184' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 121-184]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' signature='([B)V' name='<init>' primary='true'><SourceLine endBytecode='355' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='121' end='145' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations$Attributes(byte[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='javax.imageio.stream.ImageInputStream' signature='([B)I' name='read'><SourceLine classname='javax.imageio.stream.ImageInputStream' sourcepath='javax/imageio/stream/ImageInputStream.java' sourcefile='ImageInputStream.java'></SourceLine><Message>Called method javax.imageio.stream.ImageInputStream.read(byte[])</Message></Method><SourceLine endBytecode='142' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='139' end='139' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='142' primary='true'><Message>At WangAnnotations.java:[line 139]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2fad07f936f5e2bcff048c2efd887341' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes.highlight</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='121' end='184' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 121-184]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' signature='B' name='highlight' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes.highlight</Message></Field><SourceLine endBytecode='98' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='132' end='132' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='98' primary='true'><Message>At WangAnnotations.java:[line 132]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c96adc761d48b535eb77fa18764e5a34' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes.lineSize</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='121' end='184' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 121-184]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' signature='I' name='lineSize' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes.lineSize</Message></Field><SourceLine endBytecode='118' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='134' end='134' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='118' primary='true'><Message>At WangAnnotations.java:[line 134]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='9015e49275b683659013b6f6c17fb78a' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes.timeStamp</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='121' end='184' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 121-184]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' signature='I' name='timeStamp' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes.timeStamp</Message></Field><SourceLine endBytecode='167' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='141' end='141' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='167' primary='true'><Message>At WangAnnotations.java:[line 141]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='155a0ecff45dbfb72cd00b51844fd8b2' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes.transparent</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='121' end='184' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 121-184]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' signature='B' name='transparent' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes.transparent</Message></Field><SourceLine endBytecode='108' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes' start='133' end='133' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='108' primary='true'><Message>At WangAnnotations.java:[line 133]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='3b2bedb63a4e409365cfcfe40445163f' 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 new it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont(byte[]): new String(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='([B)V' name='<init>' primary='true'><SourceLine endBytecode='338' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='93' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont(byte[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='java.lang.String' signature='([B)V' name='<init>'><SourceLine endBytecode='64' classname='java.lang.String' start='614' end='615' sourcepath='java/lang/String.java' sourcefile='String.java' startBytecode='0'></SourceLine><Message>Called method new String(byte[])</Message></Method><SourceLine endBytecode='174' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='91' end='91' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='174' primary='true'><Message>At WangAnnotations.java:[line 91]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e0af3ef93ecc9909f67736f513086a0d' rank='16' abbrev='RR' category='BAD_PRACTICE' priority='2' type='RR_NOT_CHECKED' instanceOccurrenceMax='0'><ShortMessage>Method ignores results of InputStream.read()</ShortMessage><LongMessage>new it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont(byte[]) ignores result of javax.imageio.stream.ImageInputStream.read(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='([B)V' name='<init>' primary='true'><SourceLine endBytecode='338' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='93' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont(byte[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='javax.imageio.stream.ImageInputStream' signature='([B)I' name='read'><SourceLine classname='javax.imageio.stream.ImageInputStream' sourcepath='javax/imageio/stream/ImageInputStream.java' sourcefile='ImageInputStream.java'></SourceLine><Message>Called method javax.imageio.stream.ImageInputStream.read(byte[])</Message></Method><SourceLine endBytecode='162' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='90' end='90' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='162' primary='true'><Message>At WangAnnotations.java:[line 90]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='3f4c3ad6a5534e79614b479b7d1b1e5c' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.charset</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='charset' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.charset</Message></Field><SourceLine endBytecode='112' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='84' end='84' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='112' primary='true'><Message>At WangAnnotations.java:[line 84]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='3cfa06b3e8439fefa7f2dc3794f2ba08' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.clipprec</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='clipprec' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.clipprec</Message></Field><SourceLine endBytecode='132' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='86' end='86' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='132' primary='true'><Message>At WangAnnotations.java:[line 86]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b29f1642b2c535635a7e793451076d5c' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.escapement</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='I' name='escapement' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.escapement</Message></Field><SourceLine endBytecode='52' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='78' end='78' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='52' primary='true'><Message>At WangAnnotations.java:[line 78]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e98d3d109d24bf881f4339381f358af' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.italic</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='italic' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.italic</Message></Field><SourceLine endBytecode='82' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='81' end='81' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='82' primary='true'><Message>At WangAnnotations.java:[line 81]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='20ab33f718142b794392b53b736676b5' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.orientation</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='I' name='orientation' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.orientation</Message></Field><SourceLine endBytecode='62' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='79' end='79' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='62' primary='true'><Message>At WangAnnotations.java:[line 79]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6ce53bc7a087c58193cc88705a775cc5' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.outprec</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='outprec' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.outprec</Message></Field><SourceLine endBytecode='122' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='85' end='85' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='122' primary='true'><Message>At WangAnnotations.java:[line 85]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='10029ea4e8e8379b1329a16781b3f486' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.pitch</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='pitch' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.pitch</Message></Field><SourceLine endBytecode='152' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='88' end='88' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='152' primary='true'><Message>At WangAnnotations.java:[line 88]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='d0ddc374eb697ad67c49e54c9c5a03b8' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.quality</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='quality' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.quality</Message></Field><SourceLine endBytecode='142' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='87' end='87' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='142' primary='true'><Message>At WangAnnotations.java:[line 87]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='8f9fcd85fbd78d8ffab3fd045be7467' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.strikeout</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='strikeout' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.strikeout</Message></Field><SourceLine endBytecode='102' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='83' end='83' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='102' primary='true'><Message>At WangAnnotations.java:[line 83]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='f1a618f8a38bd42e6d1e087838739308' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.underline</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='B' name='underline' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.underline</Message></Field><SourceLine endBytecode='92' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='82' end='82' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='92' primary='true'><Message>At WangAnnotations.java:[line 82]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='10a75bbf270d0322234ff150ed31af92' rank='20' abbrev='UrF' category='PERFORMANCE' priority='3' type='URF_UNREAD_FIELD' instanceOccurrenceMax='0'><ShortMessage>Unread field</ShortMessage><LongMessage>Unread field: it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.width</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='73' end='103' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 73-103]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont</Message></Class><Field isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' signature='I' name='width' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>In WangAnnotations.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont.width</Message></Field><SourceLine endBytecode='42' classname='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont' start='77' end='77' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='42' primary='true'><Message>At WangAnnotations.java:[line 77]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='1d76b0c77a01a35cd48b38583003222b' 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 d1000 in new it.tidalwave.image.metadata.WangAnnotations$OiAnText(WangAnnotations$Attributes, byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='210' end='235' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 210-235]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$OiAnText</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' signature='(Lit/tidalwave/image/metadata/WangAnnotations$Attributes;[B)V' name='<init>' primary='true'><SourceLine endBytecode='62' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='210' end='222' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations$OiAnText(WangAnnotations$Attributes, byte[])</Message></Method><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='49' name='d1000' register='4'><Message>Local variable named d1000</Message></LocalVariable><SourceLine endBytecode='47' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='214' end='214' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='47' primary='true'><Message>At WangAnnotations.java:[line 214]</Message></SourceLine><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.BASE_VALUE' value='true'></Property><Property name='edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME' value='d1000'></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='d92545b55ff7d824551ea815f8adf33f' rank='16' abbrev='RR' category='BAD_PRACTICE' priority='2' type='RR_NOT_CHECKED' instanceOccurrenceMax='0'><ShortMessage>Method ignores results of InputStream.read()</ShortMessage><LongMessage>new it.tidalwave.image.metadata.WangAnnotations$OiAnText(WangAnnotations$Attributes, byte[]) ignores result of javax.imageio.stream.ImageInputStream.read(byte[])</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='210' end='235' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 210-235]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$OiAnText</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' signature='(Lit/tidalwave/image/metadata/WangAnnotations$Attributes;[B)V' name='<init>' primary='true'><SourceLine endBytecode='326' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='210' end='222' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.WangAnnotations$OiAnText(WangAnnotations$Attributes, byte[])</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='javax.imageio.stream.ImageInputStream' signature='([B)I' name='read'><SourceLine classname='javax.imageio.stream.ImageInputStream' sourcepath='javax/imageio/stream/ImageInputStream.java' sourcefile='ImageInputStream.java'></SourceLine><Message>Called method javax.imageio.stream.ImageInputStream.read(byte[])</Message></Method><SourceLine endBytecode='81' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='218' end='218' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='81' primary='true'><Message>At WangAnnotations.java:[line 218]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='8a937b944af2cb597c3f37f1cfca630f' cweid='440' rank='17' abbrev='RV' category='STYLE' priority='2' type='RV_RETURN_VALUE_IGNORED_INFERRED' instanceOccurrenceMax='0'><ShortMessage>Method ignores return value, is this OK?</ShortMessage><LongMessage>Return value of it.tidalwave.image.EditableImage.execute(Operation) ignored, is this OK in it.tidalwave.image.metadata.WangAnnotations$OiAnText.render(EditableImage)</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='210' end='235' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 210-235]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$OiAnText</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' signature='(Lit/tidalwave/image/EditableImage;)V' name='render' primary='true'><SourceLine endBytecode='74' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='227' end='228' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.WangAnnotations$OiAnText.render(EditableImage)</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='it.tidalwave.image.EditableImage' signature='(Lit/tidalwave/image/op/Operation;)Lit/tidalwave/image/EditableImage;' name='execute'><SourceLine endBytecode='312' classname='it.tidalwave.image.EditableImage' start='485' end='498' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='0'></SourceLine><Message>Called method it.tidalwave.image.EditableImage.execute(Operation)</Message></Method><SourceLine endBytecode='14' classname='it.tidalwave.image.metadata.WangAnnotations$OiAnText' start='227' end='227' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='14' primary='true'><Message>At WangAnnotations.java:[line 227]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2539158191d6b7be77ce01424e376d8a' cweid='440' rank='17' abbrev='RV' category='STYLE' priority='2' type='RV_RETURN_VALUE_IGNORED_INFERRED' instanceOccurrenceMax='0'><ShortMessage>Method ignores return value, is this OK?</ShortMessage><LongMessage>Return value of it.tidalwave.image.EditableImage.execute(Operation) ignored, is this OK in it.tidalwave.image.metadata.WangAnnotations$OiHilite.render(EditableImage)</LongMessage><Class classname='it.tidalwave.image.metadata.WangAnnotations$OiHilite' primary='true'><SourceLine classname='it.tidalwave.image.metadata.WangAnnotations$OiHilite' start='245' end='258' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java'><Message>At WangAnnotations.java:[lines 245-258]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.WangAnnotations$OiHilite</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.WangAnnotations$OiHilite' signature='(Lit/tidalwave/image/EditableImage;)V' name='render' primary='true'><SourceLine endBytecode='82' classname='it.tidalwave.image.metadata.WangAnnotations$OiHilite' start='252' end='253' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.WangAnnotations$OiHilite.render(EditableImage)</Message></Method><Method isStatic='false' role='METHOD_CALLED' classname='it.tidalwave.image.EditableImage' signature='(Lit/tidalwave/image/op/Operation;)Lit/tidalwave/image/EditableImage;' name='execute'><SourceLine endBytecode='312' classname='it.tidalwave.image.EditableImage' start='485' end='498' sourcepath='it/tidalwave/image/EditableImage.java' sourcefile='EditableImage.java' startBytecode='0'></SourceLine><Message>Called method it.tidalwave.image.EditableImage.execute(Operation)</Message></Method><SourceLine endBytecode='22' classname='it.tidalwave.image.metadata.WangAnnotations$OiHilite' start='252' end='252' sourcepath='it/tidalwave/image/metadata/WangAnnotations.java' sourcefile='WangAnnotations.java' startBytecode='22' primary='true'><Message>At WangAnnotations.java:[line 252]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='4f6f5ac558bf5aeed773c89372e57e73' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.metadata.XMP.getXmpProperties() may expose internal representation by returning XMP.xmpProperties</LongMessage><Class classname='it.tidalwave.image.metadata.XMP' primary='true'><SourceLine classname='it.tidalwave.image.metadata.XMP' start='35' end='46' sourcepath='it/tidalwave/image/metadata/XMP.java' sourcefile='XMP.java'><Message>At XMP.java:[lines 35-46]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.XMP</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.XMP' signature='()Ljava/util/Map;' name='getXmpProperties' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.metadata.XMP' start='39' end='39' sourcepath='it/tidalwave/image/metadata/XMP.java' sourcefile='XMP.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.XMP.getXmpProperties()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.metadata.XMP' signature='Ljava/util/Map;' name='xmpProperties' primary='true'><SourceLine classname='it.tidalwave.image.metadata.XMP' sourcepath='it/tidalwave/image/metadata/XMP.java' sourcefile='XMP.java'><Message>In XMP.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.XMP.xmpProperties</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.metadata.XMP' start='39' end='39' sourcepath='it/tidalwave/image/metadata/XMP.java' sourcefile='XMP.java' startBytecode='4' primary='true'><Message>At XMP.java:[line 39]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='47bb895ba49c67c0e1647de5affca5d6' 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 it.tidalwave.image.metadata.loader.DirectoryDrewLoader(List, int) may expose internal representation by storing an externally mutable object into DirectoryDrewLoader.directories</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' start='41' end='179' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java'><Message>At DirectoryDrewLoader.java:[lines 41-179]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryDrewLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' signature='(Ljava/util/List;I)V' name='<init>' primary='true'><SourceLine endBytecode='124' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' start='55' end='59' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.loader.DirectoryDrewLoader(List, int)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' signature='Ljava/util/List;' name='directories' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java'><Message>In DirectoryDrewLoader.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.loader.DirectoryDrewLoader.directories</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='6' name='directories' register='1'><Message>Local variable named directories</Message></LocalVariable><SourceLine endBytecode='6' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' start='56' end='56' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java' startBytecode='6' primary='true'><Message>At DirectoryDrewLoader.java:[line 56]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='99aa5bdcdc02ae6f70a003c76dff4f44' rank='19' abbrev='It' category='BAD_PRACTICE' priority='3' type='IT_NO_SUCH_ELEMENT' instanceOccurrenceMax='0'><ShortMessage>Iterator next() method can't throw NoSuchElementException</ShortMessage><LongMessage>it.tidalwave.image.metadata.loader.DirectoryDrewLoader.next() can't throw NoSuchElementException</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' start='41' end='179' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java'><Message>At DirectoryDrewLoader.java:[lines 41-179]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryDrewLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' signature='()Lit/tidalwave/image/metadata/loader/DirectoryLoader;' name='next' primary='true'><SourceLine endBytecode='59' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' start='123' end='123' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.DirectoryDrewLoader.next()</Message></Method><SourceLine synthetic='true' endBytecode='59' classname='it.tidalwave.image.metadata.loader.DirectoryDrewLoader' start='123' end='123' sourcepath='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' sourcefile='DirectoryDrewLoader.java' startBytecode='0'><Message>At DirectoryDrewLoader.java:[line 123]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='7e466d1d800ab776478c56875eb71352' 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 it.tidalwave.image.metadata.loader.DirectoryRawLoader(Directory) may expose internal representation by storing an externally mutable object into DirectoryRawLoader.directory</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='41' end='191' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>At DirectoryRawLoader.java:[lines 41-191]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryRawLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='(Lit/tidalwave/imageio/raw/Directory;)V' name='<init>' primary='true'><SourceLine endBytecode='80' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='51' end='54' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.loader.DirectoryRawLoader(Directory)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='Lit/tidalwave/imageio/raw/Directory;' name='directory' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>In DirectoryRawLoader.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.loader.DirectoryRawLoader.directory</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='13' name='directory' register='1'><Message>Local variable named directory</Message></LocalVariable><SourceLine endBytecode='13' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='53' end='53' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='13' primary='true'><Message>At DirectoryRawLoader.java:[line 53]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='55f273772e25ae4b4d2b054e6a234b48' cweid='476' rank='6' abbrev='NP' category='CORRECTNESS' priority='1' type='NP_NONNULL_RETURN_VIOLATION' instanceOccurrenceMax='0'><ShortMessage>Method may return null, but is declared @Nonnull</ShortMessage><LongMessage>it.tidalwave.image.metadata.loader.DirectoryRawLoader.next() may return null, but is declared @Nonnull</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='41' end='191' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>At DirectoryRawLoader.java:[lines 41-191]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryRawLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='()Lit/tidalwave/image/metadata/loader/DirectoryLoader;' name='next' primary='true'><SourceLine endBytecode='104' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='116' end='121' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.DirectoryRawLoader.next()</Message></Method><String role='STRING_NONSTRING_CONSTANT' value='null'><Message>Constant value null</Message></String><SourceLine role='SOURCE_LINE_RETURNED' endBytecode='40' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='121' end='121' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='40' primary='true'><Message>Returned at DirectoryRawLoader.java:[line 121]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='26' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='121' end='121' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='26'><Message>Known null at DirectoryRawLoader.java:[line 121]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='77306890abf27c936b8e80b82a60f46' cweid='476' rank='8' abbrev='NP' category='CORRECTNESS' priority='2' type='NP_NONNULL_RETURN_VIOLATION' instanceOccurrenceMax='0'><ShortMessage>Method may return null, but is declared @Nonnull</ShortMessage><LongMessage>it.tidalwave.image.metadata.loader.DirectoryRawLoader.getSubDirectory(String) may return null, but is declared @Nonnull</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='41' end='191' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>At DirectoryRawLoader.java:[lines 41-191]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryRawLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='(Ljava/lang/String;)Lit/tidalwave/image/metadata/loader/DirectoryLoader;' name='getSubDirectory' primary='true'><SourceLine endBytecode='109' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='90' end='91' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.DirectoryRawLoader.getSubDirectory(String)</Message></Method><String role='STRING_NONSTRING_CONSTANT' value='null'><Message>Constant value null</Message></String><SourceLine role='SOURCE_LINE_RETURNED' endBytecode='25' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='91' end='91' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='25' primary='true'><Message>Returned at DirectoryRawLoader.java:[line 91]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='24' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='91' end='91' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='24'><Message>Known null at DirectoryRawLoader.java:[line 91]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='8f102695ec5cf5eacfae9a7493755ecd' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='0'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in it.tidalwave.image.metadata.loader.DirectoryRawLoader.getObject(int) due to return value of called method</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='41' end='191' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>At DirectoryRawLoader.java:[lines 41-191]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryRawLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='(I)Ljava/lang/Object;' name='getObject' primary='true'><SourceLine endBytecode='172' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='131' end='145' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.DirectoryRawLoader.getObject(int)</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='56' name='value' register='2'><Message>Value loaded from value</Message></LocalVariable><SourceLine role='SOURCE_LINE_RETURNED' endBytecode='57' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='145' end='145' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='57' primary='true'><Message>Returned at DirectoryRawLoader.java:[line 145]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='13' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='132' end='132' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='13'><Message>Known null at DirectoryRawLoader.java:[line 132]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='6974f4da3de844ec612f25777360da3a' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='0'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in it.tidalwave.image.metadata.loader.DirectoryRawLoader.getSubDirectoryNames() due to return value of called method</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='41' end='191' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>At DirectoryRawLoader.java:[lines 41-191]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryRawLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='()[Ljava/lang/String;' name='getSubDirectoryNames' primary='true'><SourceLine endBytecode='49' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='81' end='81' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.DirectoryRawLoader.getSubDirectoryNames()</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='7' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_RETURNED' endBytecode='7' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='81' end='81' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='7' primary='true'><Message>Returned at DirectoryRawLoader.java:[line 81]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='4' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='81' end='81' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='4'><Message>Known null at DirectoryRawLoader.java:[line 81]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2f6fff345e8be46e67fedf3484cac7f1' cweid='476' rank='18' abbrev='RCN' category='STYLE' priority='2' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of it.tidalwave.image.metadata.loader.DirectoryRawLoader.next(), which is known to be non-null in it.tidalwave.image.metadata.loader.DirectoryRawLoader.hasNext()</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='41' end='191' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java'><Message>At DirectoryRawLoader.java:[lines 41-191]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryRawLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='()Z' name='hasNext' primary='true'><SourceLine endBytecode='98' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='102' end='106' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.DirectoryRawLoader.hasNext()</Message></Method><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' signature='()Lit/tidalwave/image/metadata/loader/DirectoryLoader;' name='next'><SourceLine endBytecode='104' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='116' end='121' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.metadata.loader.DirectoryRawLoader.next() of type it.tidalwave.image.metadata.loader.DirectoryLoader</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='4' classname='it.tidalwave.image.metadata.loader.DirectoryRawLoader' start='102' end='102' sourcepath='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' sourcefile='DirectoryRawLoader.java' startBytecode='4' primary='true'><Message>Redundant null check at DirectoryRawLoader.java:[line 102]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='531f16b46b3168d431aa866b095e28e3' 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 it.tidalwave.image.metadata.loader.DirectoryTIFFLoader(TIFFIFD) may expose internal representation by storing an externally mutable object into DirectoryTIFFLoader.ifd</LongMessage><Class classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' start='38' end='84' sourcepath='it/tidalwave/image/metadata/loader/DirectoryTIFFLoader.java' sourcefile='DirectoryTIFFLoader.java'><Message>At DirectoryTIFFLoader.java:[lines 38-84]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.DirectoryTIFFLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' signature='(Lcom/sun/media/imageioimpl/plugins/tiff/TIFFIFD;)V' name='<init>' primary='true'><SourceLine endBytecode='61' classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' start='38' end='38' sourcepath='it/tidalwave/image/metadata/loader/DirectoryTIFFLoader.java' sourcefile='DirectoryTIFFLoader.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.metadata.loader.DirectoryTIFFLoader(TIFFIFD)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' signature='Lcom/sun/media/imageioimpl/plugins/tiff/TIFFIFD;' name='ifd' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' sourcepath='it/tidalwave/image/metadata/loader/DirectoryTIFFLoader.java' sourcefile='DirectoryTIFFLoader.java'><Message>In DirectoryTIFFLoader.java</Message></SourceLine><Message>Field it.tidalwave.image.metadata.loader.DirectoryTIFFLoader.ifd</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='6' name='ifd' register='1'><Message>Local variable named ifd</Message></LocalVariable><SourceLine endBytecode='6' classname='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader' start='38' end='38' sourcepath='it/tidalwave/image/metadata/loader/DirectoryTIFFLoader.java' sourcefile='DirectoryTIFFLoader.java' startBytecode='6' primary='true'><Message>At DirectoryTIFFLoader.java:[line 38]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c23b5bc04524b41c72430609132a1f3b' rank='20' abbrev='BC' category='STYLE' priority='3' type='BC_UNCONFIRMED_CAST' instanceOccurrenceMax='0'><ShortMessage>Unchecked/unconfirmed cast</ShortMessage><LongMessage>Unchecked/unconfirmed cast from javax.imageio.metadata.IIOMetadata to it.tidalwave.imageio.tiff.TIFFMetadataSupport in it.tidalwave.image.metadata.loader.RAWMetadataLoader.getExifLoader(IIOMetadata)</LongMessage><Class classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='39' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java'><Message>At RAWMetadataLoader.java:[lines 39-84]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.RAWMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getExifLoader' primary='true'><SourceLine endBytecode='7' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='47' end='47' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.RAWMetadataLoader.getExifLoader(IIOMetadata)</Message></Method><Type role='TYPE_FOUND' descriptor='Ljavax/imageio/metadata/IIOMetadata;'><SourceLine classname='javax.imageio.metadata.IIOMetadata' start='81' end='891' sourcepath='javax/imageio/metadata/IIOMetadata.java' sourcefile='IIOMetadata.java'><Message>At IIOMetadata.java:[lines 81-891]</Message></SourceLine><Message>Actual type javax.imageio.metadata.IIOMetadata</Message></Type><Type role='TYPE_EXPECTED' descriptor='Lit/tidalwave/imageio/tiff/TIFFMetadataSupport;'><SourceLine classname='it.tidalwave.imageio.tiff.TIFFMetadataSupport' start='49' end='645' sourcepath='it/tidalwave/imageio/tiff/TIFFMetadataSupport.java' sourcefile='TIFFMetadataSupport.java'><Message>At TIFFMetadataSupport.java:[lines 49-645]</Message></SourceLine><Message>Expected it.tidalwave.imageio.tiff.TIFFMetadataSupport</Message></Type><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='4' name='iioMetadata' register='1'><Message>Value loaded from iioMetadata</Message></LocalVariable><SourceLine endBytecode='5' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='47' end='47' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='5' primary='true'><Message>At RAWMetadataLoader.java:[line 47]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='23d3a3ff1db0e37ba246a6b8f9cd32c0' rank='20' abbrev='BC' category='STYLE' priority='3' type='BC_UNCONFIRMED_CAST' instanceOccurrenceMax='0'><ShortMessage>Unchecked/unconfirmed cast</ShortMessage><LongMessage>Unchecked/unconfirmed cast from javax.imageio.metadata.IIOMetadata to it.tidalwave.imageio.tiff.TIFFMetadataSupport in it.tidalwave.image.metadata.loader.RAWMetadataLoader.getMakerNoteLoader(IIOMetadata)</LongMessage><Class classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='39' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java'><Message>At RAWMetadataLoader.java:[lines 39-84]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.RAWMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getMakerNoteLoader' primary='true'><SourceLine endBytecode='7' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='84' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.RAWMetadataLoader.getMakerNoteLoader(IIOMetadata)</Message></Method><Type role='TYPE_FOUND' descriptor='Ljavax/imageio/metadata/IIOMetadata;'><SourceLine classname='javax.imageio.metadata.IIOMetadata' start='81' end='891' sourcepath='javax/imageio/metadata/IIOMetadata.java' sourcefile='IIOMetadata.java'><Message>At IIOMetadata.java:[lines 81-891]</Message></SourceLine><Message>Actual type javax.imageio.metadata.IIOMetadata</Message></Type><Type role='TYPE_EXPECTED' descriptor='Lit/tidalwave/imageio/tiff/TIFFMetadataSupport;'><SourceLine classname='it.tidalwave.imageio.tiff.TIFFMetadataSupport' start='49' end='645' sourcepath='it/tidalwave/imageio/tiff/TIFFMetadataSupport.java' sourcefile='TIFFMetadataSupport.java'><Message>At TIFFMetadataSupport.java:[lines 49-645]</Message></SourceLine><Message>Expected it.tidalwave.imageio.tiff.TIFFMetadataSupport</Message></Type><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='4' name='iioMetadata' register='1'><Message>Value loaded from iioMetadata</Message></LocalVariable><SourceLine endBytecode='5' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='84' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='5' primary='true'><Message>At RAWMetadataLoader.java:[line 84]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='9e285a1bb8f8659ebaac5e2bba9b00a' rank='20' abbrev='BC' category='STYLE' priority='3' type='BC_UNCONFIRMED_CAST' instanceOccurrenceMax='0'><ShortMessage>Unchecked/unconfirmed cast</ShortMessage><LongMessage>Unchecked/unconfirmed cast from javax.imageio.metadata.IIOMetadata to it.tidalwave.imageio.tiff.TIFFMetadataSupport in it.tidalwave.image.metadata.loader.RAWMetadataLoader.getTiffLoader(IIOMetadata)</LongMessage><Class classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='39' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java'><Message>At RAWMetadataLoader.java:[lines 39-84]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.RAWMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getTiffLoader' primary='true'><SourceLine endBytecode='7' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='75' end='75' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.RAWMetadataLoader.getTiffLoader(IIOMetadata)</Message></Method><Type role='TYPE_FOUND' descriptor='Ljavax/imageio/metadata/IIOMetadata;'><SourceLine classname='javax.imageio.metadata.IIOMetadata' start='81' end='891' sourcepath='javax/imageio/metadata/IIOMetadata.java' sourcefile='IIOMetadata.java'><Message>At IIOMetadata.java:[lines 81-891]</Message></SourceLine><Message>Actual type javax.imageio.metadata.IIOMetadata</Message></Type><Type role='TYPE_EXPECTED' descriptor='Lit/tidalwave/imageio/tiff/TIFFMetadataSupport;'><SourceLine classname='it.tidalwave.imageio.tiff.TIFFMetadataSupport' start='49' end='645' sourcepath='it/tidalwave/imageio/tiff/TIFFMetadataSupport.java' sourcefile='TIFFMetadataSupport.java'><Message>At TIFFMetadataSupport.java:[lines 49-645]</Message></SourceLine><Message>Expected it.tidalwave.imageio.tiff.TIFFMetadataSupport</Message></Type><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='4' name='iioMetadata' register='1'><Message>Value loaded from iioMetadata</Message></LocalVariable><SourceLine endBytecode='5' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='75' end='75' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='5' primary='true'><Message>At RAWMetadataLoader.java:[line 75]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='970d1f520baed54ac45c561f77e25461' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='0'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in it.tidalwave.image.metadata.loader.RAWMetadataLoader.getExifLoader(IIOMetadata) due to return value of called method</LongMessage><Class classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='39' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java'><Message>At RAWMetadataLoader.java:[lines 39-84]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.RAWMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getExifLoader' primary='true'><SourceLine endBytecode='69' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='47' end='47' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.RAWMetadataLoader.getExifLoader(IIOMetadata)</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='11' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_INVOKED' endBytecode='11' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='47' end='47' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='11' primary='true'><Message>Method invoked at RAWMetadataLoader.java:[line 47]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='8' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='47' end='47' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='8'><Message>Known null at RAWMetadataLoader.java:[line 47]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='e7163faedb3e93ee21d0a00664e86cc9' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='0'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in it.tidalwave.image.metadata.loader.RAWMetadataLoader.getMakerNoteLoader(IIOMetadata) due to return value of called method</LongMessage><Class classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='39' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java'><Message>At RAWMetadataLoader.java:[lines 39-84]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.RAWMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getMakerNoteLoader' primary='true'><SourceLine endBytecode='69' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='84' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.RAWMetadataLoader.getMakerNoteLoader(IIOMetadata)</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='11' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_INVOKED' endBytecode='11' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='84' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='11' primary='true'><Message>Method invoked at RAWMetadataLoader.java:[line 84]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='8' classname='it.tidalwave.image.metadata.loader.RAWMetadataLoader' start='84' end='84' sourcepath='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' sourcefile='RAWMetadataLoader.java' startBytecode='8'><Message>Known null at RAWMetadataLoader.java:[line 84]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='95afffc329da22c12ca8655bcbfa7343' rank='20' abbrev='BC' category='STYLE' priority='3' type='BC_UNCONFIRMED_CAST' instanceOccurrenceMax='0'><ShortMessage>Unchecked/unconfirmed cast</ShortMessage><LongMessage>Unchecked/unconfirmed cast from javax.imageio.metadata.IIOMetadata to com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata in it.tidalwave.image.metadata.loader.TIFFMetadataLoader.getExifLoader(IIOMetadata)</LongMessage><Class classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' start='41' end='64' sourcepath='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' sourcefile='TIFFMetadataLoader.java'><Message>At TIFFMetadataLoader.java:[lines 41-64]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.TIFFMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getExifLoader' primary='true'><SourceLine endBytecode='19' classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' start='49' end='52' sourcepath='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' sourcefile='TIFFMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.TIFFMetadataLoader.getExifLoader(IIOMetadata)</Message></Method><Type role='TYPE_FOUND' descriptor='Ljavax/imageio/metadata/IIOMetadata;'><SourceLine classname='javax.imageio.metadata.IIOMetadata' start='81' end='891' sourcepath='javax/imageio/metadata/IIOMetadata.java' sourcefile='IIOMetadata.java'><Message>At IIOMetadata.java:[lines 81-891]</Message></SourceLine><Message>Actual type javax.imageio.metadata.IIOMetadata</Message></Type><Type role='TYPE_EXPECTED' descriptor='Lcom/sun/media/imageioimpl/plugins/tiff/TIFFImageMetadata;'><SourceLine classname='com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata' start='89' end='1658' sourcepath='com/sun/media/imageioimpl/plugins/tiff/TIFFImageMetadata.java' sourcefile='TIFFImageMetadata.java'><Message>At TIFFImageMetadata.java:[lines 89-1658]</Message></SourceLine><Message>Expected com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata</Message></Type><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='0' name='iioMetadata' register='1'><Message>Value loaded from iioMetadata</Message></LocalVariable><SourceLine endBytecode='1' classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' start='49' end='49' sourcepath='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' sourcefile='TIFFMetadataLoader.java' startBytecode='1' primary='true'><Message>At TIFFMetadataLoader.java:[line 49]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='bb57efc624ddb1e5d4148f2b74d99db8' rank='20' abbrev='BC' category='STYLE' priority='3' type='BC_UNCONFIRMED_CAST' instanceOccurrenceMax='0'><ShortMessage>Unchecked/unconfirmed cast</ShortMessage><LongMessage>Unchecked/unconfirmed cast from javax.imageio.metadata.IIOMetadata to com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata in it.tidalwave.image.metadata.loader.TIFFMetadataLoader.getTiffLoader(IIOMetadata)</LongMessage><Class classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' primary='true'><SourceLine classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' start='41' end='64' sourcepath='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' sourcefile='TIFFMetadataLoader.java'><Message>At TIFFMetadataLoader.java:[lines 41-64]</Message></SourceLine><Message>In class it.tidalwave.image.metadata.loader.TIFFMetadataLoader</Message></Class><Method isStatic='false' classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' signature='(Ljavax/imageio/metadata/IIOMetadata;)Ljava/util/Optional;' name='getTiffLoader' primary='true'><SourceLine endBytecode='7' classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' start='64' end='64' sourcepath='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' sourcefile='TIFFMetadataLoader.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.metadata.loader.TIFFMetadataLoader.getTiffLoader(IIOMetadata)</Message></Method><Type role='TYPE_FOUND' descriptor='Ljavax/imageio/metadata/IIOMetadata;'><SourceLine classname='javax.imageio.metadata.IIOMetadata' start='81' end='891' sourcepath='javax/imageio/metadata/IIOMetadata.java' sourcefile='IIOMetadata.java'><Message>At IIOMetadata.java:[lines 81-891]</Message></SourceLine><Message>Actual type javax.imageio.metadata.IIOMetadata</Message></Type><Type role='TYPE_EXPECTED' descriptor='Lcom/sun/media/imageioimpl/plugins/tiff/TIFFImageMetadata;'><SourceLine classname='com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata' start='89' end='1658' sourcepath='com/sun/media/imageioimpl/plugins/tiff/TIFFImageMetadata.java' sourcefile='TIFFImageMetadata.java'><Message>At TIFFImageMetadata.java:[lines 89-1658]</Message></SourceLine><Message>Expected com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata</Message></Type><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='4' name='iioMetadata' register='1'><Message>Value loaded from iioMetadata</Message></LocalVariable><SourceLine endBytecode='5' classname='it.tidalwave.image.metadata.loader.TIFFMetadataLoader' start='64' end='64' sourcepath='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' sourcefile='TIFFMetadataLoader.java' startBytecode='5' primary='true'><Message>At TIFFMetadataLoader.java:[line 64]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='86aaed44693df35615f7c7f67adfedd1' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.CaptureOp.getComponent() may expose internal representation by returning CaptureOp.component</LongMessage><Class classname='it.tidalwave.image.op.CaptureOp' primary='true'><SourceLine classname='it.tidalwave.image.op.CaptureOp' start='41' end='52' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java'><Message>At CaptureOp.java:[lines 41-52]</Message></SourceLine><Message>In class it.tidalwave.image.op.CaptureOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.CaptureOp' signature='()Ljava/awt/Component;' name='getComponent' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.CaptureOp' start='52' end='52' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.CaptureOp.getComponent()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.CaptureOp' signature='Ljava/awt/Component;' name='component' primary='true'><SourceLine classname='it.tidalwave.image.op.CaptureOp' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java'><Message>In CaptureOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.CaptureOp.component</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.CaptureOp' start='52' end='52' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java' startBytecode='4' primary='true'><Message>At CaptureOp.java:[line 52]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='bc80146c91d031f5380b2ac95db5a612' 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 it.tidalwave.image.op.CaptureOp(Component) may expose internal representation by storing an externally mutable object into CaptureOp.component</LongMessage><Class classname='it.tidalwave.image.op.CaptureOp' primary='true'><SourceLine classname='it.tidalwave.image.op.CaptureOp' start='41' end='52' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java'><Message>At CaptureOp.java:[lines 41-52]</Message></SourceLine><Message>In class it.tidalwave.image.op.CaptureOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.CaptureOp' signature='(Ljava/awt/Component;)V' name='<init>' primary='true'><SourceLine endBytecode='112' classname='it.tidalwave.image.op.CaptureOp' start='41' end='48' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.CaptureOp(Component)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.CaptureOp' signature='Ljava/awt/Component;' name='component' primary='true'><SourceLine classname='it.tidalwave.image.op.CaptureOp' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java'><Message>In CaptureOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.CaptureOp.component</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='20' name='component' register='1'><Message>Local variable named component</Message></LocalVariable><SourceLine endBytecode='20' classname='it.tidalwave.image.op.CaptureOp' start='47' end='47' sourcepath='it/tidalwave/image/op/CaptureOp.java' sourcefile='CaptureOp.java' startBytecode='20' primary='true'><Message>At CaptureOp.java:[line 47]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='8b33b905c84b5757f6c5eb866ec71576' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.ConvertToBufferedImageOp.getBufferedImage() may expose internal representation by returning ConvertToBufferedImageOp.bufferedImage</LongMessage><Class classname='it.tidalwave.image.op.ConvertToBufferedImageOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ConvertToBufferedImageOp' start='39' end='71' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java'><Message>At ConvertToBufferedImageOp.java:[lines 39-71]</Message></SourceLine><Message>In class it.tidalwave.image.op.ConvertToBufferedImageOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' signature='()Ljava/awt/image/BufferedImage;' name='getBufferedImage' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' start='60' end='60' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ConvertToBufferedImageOp.getBufferedImage()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' signature='Ljava/awt/image/BufferedImage;' name='bufferedImage' primary='true'><SourceLine classname='it.tidalwave.image.op.ConvertToBufferedImageOp' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java'><Message>In ConvertToBufferedImageOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.ConvertToBufferedImageOp.bufferedImage</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' start='60' end='60' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java' startBytecode='4' primary='true'><Message>At ConvertToBufferedImageOp.java:[line 60]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='a1c33fcd63ab6af17ede63891ba99b59' 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>it.tidalwave.image.op.ConvertToBufferedImageOp.setBufferedImage(BufferedImage) may expose internal representation by storing an externally mutable object into ConvertToBufferedImageOp.bufferedImage</LongMessage><Class classname='it.tidalwave.image.op.ConvertToBufferedImageOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ConvertToBufferedImageOp' start='39' end='71' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java'><Message>At ConvertToBufferedImageOp.java:[lines 39-71]</Message></SourceLine><Message>In class it.tidalwave.image.op.ConvertToBufferedImageOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' signature='(Ljava/awt/image/BufferedImage;)V' name='setBufferedImage' primary='true'><SourceLine endBytecode='61' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' start='50' end='51' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ConvertToBufferedImageOp.setBufferedImage(BufferedImage)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' signature='Ljava/awt/image/BufferedImage;' name='bufferedImage' primary='true'><SourceLine classname='it.tidalwave.image.op.ConvertToBufferedImageOp' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java'><Message>In ConvertToBufferedImageOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.ConvertToBufferedImageOp.bufferedImage</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='2' name='bufferedImage' register='1'><Message>Local variable named bufferedImage</Message></LocalVariable><SourceLine endBytecode='2' classname='it.tidalwave.image.op.ConvertToBufferedImageOp' start='50' end='50' sourcepath='it/tidalwave/image/op/ConvertToBufferedImageOp.java' sourcefile='ConvertToBufferedImageOp.java' startBytecode='2' primary='true'><Message>At ConvertToBufferedImageOp.java:[line 50]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='ee6962b3d9bebfe1568eac8ad9220c65' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.CreateOp.getFiller() may expose internal representation by returning CreateOp.filler</LongMessage><Class classname='it.tidalwave.image.op.CreateOp' primary='true'><SourceLine classname='it.tidalwave.image.op.CreateOp' start='56' end='208' sourcepath='it/tidalwave/image/op/CreateOp.java' sourcefile='CreateOp.java'><Message>At CreateOp.java:[lines 56-208]</Message></SourceLine><Message>In class it.tidalwave.image.op.CreateOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.CreateOp' signature='()[D' name='getFiller' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.CreateOp' start='150' end='150' sourcepath='it/tidalwave/image/op/CreateOp.java' sourcefile='CreateOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.CreateOp.getFiller()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.CreateOp' signature='[D' name='filler' primary='true'><SourceLine classname='it.tidalwave.image.op.CreateOp' sourcepath='it/tidalwave/image/op/CreateOp.java' sourcefile='CreateOp.java'><Message>In CreateOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.CreateOp.filler</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.CreateOp' start='150' end='150' sourcepath='it/tidalwave/image/op/CreateOp.java' sourcefile='CreateOp.java' startBytecode='4' primary='true'><Message>At CreateOp.java:[line 150]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='1d325129943c2625f1b4c9c0489a76db' cweid='476' rank='6' abbrev='NP' category='CORRECTNESS' priority='1' type='NP_NONNULL_RETURN_VIOLATION' instanceOccurrenceMax='0'><ShortMessage>Method may return null, but is declared @Nonnull</ShortMessage><LongMessage>it.tidalwave.image.op.ImplementationFactory.findImplementation(Operation) may return null, but is declared @Nonnull</LongMessage><Class classname='it.tidalwave.image.op.ImplementationFactory' primary='true'><SourceLine classname='it.tidalwave.image.op.ImplementationFactory' start='44' end='113' sourcepath='it/tidalwave/image/op/ImplementationFactory.java' sourcefile='ImplementationFactory.java'><Message>At ImplementationFactory.java:[lines 44-113]</Message></SourceLine><Message>In class it.tidalwave.image.op.ImplementationFactory</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.ImplementationFactory' signature='(Lit/tidalwave/image/op/Operation;)Lit/tidalwave/image/op/OperationImplementation;' name='findImplementation' primary='true'><SourceLine endBytecode='244' classname='it.tidalwave.image.op.ImplementationFactory' start='83' end='103' sourcepath='it/tidalwave/image/op/ImplementationFactory.java' sourcefile='ImplementationFactory.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ImplementationFactory.findImplementation(Operation)</Message></Method><SourceLine endBytecode='54' classname='it.tidalwave.image.op.ImplementationFactory' start='103' end='103' sourcepath='it/tidalwave/image/op/ImplementationFactory.java' sourcefile='ImplementationFactory.java' startBytecode='54' primary='true'><Message>At ImplementationFactory.java:[line 103]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b9d851c5ae6b0a12877ffe483da8decd' cweid='476' rank='20' abbrev='RCN' category='STYLE' priority='3' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE' instanceOccurrenceMax='0'><ShortMessage>Redundant nullcheck of value known to be non-null</ShortMessage><LongMessage>Redundant nullcheck of implementation, which is known to be non-null in it.tidalwave.image.op.ImplementationFactoryRegistry.findImplementation(Operation, ImageModel, boolean)</LongMessage><Class classname='it.tidalwave.image.op.ImplementationFactoryRegistry' primary='true'><SourceLine classname='it.tidalwave.image.op.ImplementationFactoryRegistry' start='42' end='144' sourcepath='it/tidalwave/image/op/ImplementationFactoryRegistry.java' sourcefile='ImplementationFactoryRegistry.java'><Message>At ImplementationFactoryRegistry.java:[lines 42-144]</Message></SourceLine><Message>In class it.tidalwave.image.op.ImplementationFactoryRegistry</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.ImplementationFactoryRegistry' signature='(Lit/tidalwave/image/op/Operation;Lit/tidalwave/image/ImageModel;Z)Lit/tidalwave/image/op/OperationImplementation;' name='findImplementation' primary='true'><SourceLine endBytecode='495' classname='it.tidalwave.image.op.ImplementationFactoryRegistry' start='90' end='132' sourcepath='it/tidalwave/image/op/ImplementationFactoryRegistry.java' sourcefile='ImplementationFactoryRegistry.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ImplementationFactoryRegistry.findImplementation(Operation, ImageModel, boolean)</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='87' name='implementation' register='8'><Message>Value loaded from implementation</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='it.tidalwave.image.op.ImplementationFactory' signature='(Lit/tidalwave/image/op/Operation;)Lit/tidalwave/image/op/OperationImplementation;' name='findImplementation'><SourceLine endBytecode='244' classname='it.tidalwave.image.op.ImplementationFactory' start='83' end='103' sourcepath='it/tidalwave/image/op/ImplementationFactory.java' sourcefile='ImplementationFactory.java' startBytecode='0'></SourceLine><Message>Return value of it.tidalwave.image.op.ImplementationFactory.findImplementation(Operation) of type it.tidalwave.image.op.OperationImplementation</Message></Method><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='89' classname='it.tidalwave.image.op.ImplementationFactoryRegistry' start='99' end='99' sourcepath='it/tidalwave/image/op/ImplementationFactoryRegistry.java' sourcefile='ImplementationFactoryRegistry.java' startBytecode='89' primary='true'><Message>Redundant null check at ImplementationFactoryRegistry.java:[line 99]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='2451a16638229d6b1ca3ad3c672da47f' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.PaintOp.getGraphics2D() may expose internal representation by returning PaintOp.g2</LongMessage><Class classname='it.tidalwave.image.op.PaintOp' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' start='57' end='204' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>At PaintOp.java:[lines 57-204]</Message></SourceLine><Message>In class it.tidalwave.image.op.PaintOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='()Ljava/awt/Graphics2D;' name='getGraphics2D' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.PaintOp' start='166' end='166' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.PaintOp.getGraphics2D()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='Ljava/awt/Graphics2D;' name='g2' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>In PaintOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.PaintOp.g2</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.PaintOp' start='166' end='166' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='4' primary='true'><Message>At PaintOp.java:[line 166]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='4bc6c1eb1f291be6d57d772625aff6e9' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.PaintOp.getPreviewSettings() may expose internal representation by returning PaintOp.previewSettings</LongMessage><Class classname='it.tidalwave.image.op.PaintOp' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' start='57' end='204' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>At PaintOp.java:[lines 57-204]</Message></SourceLine><Message>In class it.tidalwave.image.op.PaintOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='()Lit/tidalwave/image/render/PreviewSettings;' name='getPreviewSettings' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.PaintOp' start='184' end='184' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.PaintOp.getPreviewSettings()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='Lit/tidalwave/image/render/PreviewSettings;' name='previewSettings' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>In PaintOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.PaintOp.previewSettings</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.PaintOp' start='184' end='184' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='4' primary='true'><Message>At PaintOp.java:[line 184]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b4c4b99042b60a013ea7a37f2a923e12' 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 it.tidalwave.image.op.PaintOp(Graphics2D, int, int, int, int, Quality, PreviewSettings, ImageObserver) may expose internal representation by storing an externally mutable object into PaintOp.g2</LongMessage><Class classname='it.tidalwave.image.op.PaintOp' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' start='57' end='204' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>At PaintOp.java:[lines 57-204]</Message></SourceLine><Message>In class it.tidalwave.image.op.PaintOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='(Ljava/awt/Graphics2D;IIIILit/tidalwave/image/Quality;Lit/tidalwave/image/render/PreviewSettings;Ljava/awt/image/ImageObserver;)V' name='<init>' primary='true'><SourceLine endBytecode='207' classname='it.tidalwave.image.op.PaintOp' start='57' end='66' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.PaintOp(Graphics2D, int, int, int, int, Quality, PreviewSettings, ImageObserver)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='Ljava/awt/Graphics2D;' name='g2' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>In PaintOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.PaintOp.g2</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='28' name='g2' register='1'><Message>Local variable named g2</Message></LocalVariable><SourceLine endBytecode='28' classname='it.tidalwave.image.op.PaintOp' start='62' end='62' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='28' primary='true'><Message>At PaintOp.java:[line 62]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='ca3dd9564d370a651d977bea10ea16f0' 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 it.tidalwave.image.op.PaintOp(Graphics2D, int, int, int, int, Quality, PreviewSettings, ImageObserver) may expose internal representation by storing an externally mutable object into PaintOp.previewSettings</LongMessage><Class classname='it.tidalwave.image.op.PaintOp' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' start='57' end='204' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>At PaintOp.java:[lines 57-204]</Message></SourceLine><Message>In class it.tidalwave.image.op.PaintOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='(Ljava/awt/Graphics2D;IIIILit/tidalwave/image/Quality;Lit/tidalwave/image/render/PreviewSettings;Ljava/awt/image/ImageObserver;)V' name='<init>' primary='true'><SourceLine endBytecode='207' classname='it.tidalwave.image.op.PaintOp' start='57' end='66' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.PaintOp(Graphics2D, int, int, int, int, Quality, PreviewSettings, ImageObserver)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.PaintOp' signature='Lit/tidalwave/image/render/PreviewSettings;' name='previewSettings' primary='true'><SourceLine classname='it.tidalwave.image.op.PaintOp' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java'><Message>In PaintOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.PaintOp.previewSettings</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='40' name='previewSettings' register='7'><Message>Local variable named previewSettings</Message></LocalVariable><SourceLine endBytecode='40' classname='it.tidalwave.image.op.PaintOp' start='64' end='64' sourcepath='it/tidalwave/image/op/PaintOp.java' sourcefile='PaintOp.java' startBytecode='40' primary='true'><Message>At PaintOp.java:[line 64]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='66ebfeda2f7077b24b63c7fda50037e4' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.PrintOp.getPrintRequestAttributeSet() may expose internal representation by returning PrintOp.attributeSet</LongMessage><Class classname='it.tidalwave.image.op.PrintOp' primary='true'><SourceLine classname='it.tidalwave.image.op.PrintOp' start='42' end='105' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java'><Message>At PrintOp.java:[lines 42-105]</Message></SourceLine><Message>In class it.tidalwave.image.op.PrintOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.PrintOp' signature='()Ljavax/print/attribute/PrintRequestAttributeSet;' name='getPrintRequestAttributeSet' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.PrintOp' start='77' end='77' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.PrintOp.getPrintRequestAttributeSet()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.PrintOp' signature='Ljavax/print/attribute/PrintRequestAttributeSet;' name='attributeSet' primary='true'><SourceLine classname='it.tidalwave.image.op.PrintOp' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java'><Message>In PrintOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.PrintOp.attributeSet</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.PrintOp' start='77' end='77' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java' startBytecode='4' primary='true'><Message>At PrintOp.java:[line 77]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='34933f47cf3cf25f8720834d6b95f71c' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.PrintOp.getPrinterJob() may expose internal representation by returning PrintOp.printerJob</LongMessage><Class classname='it.tidalwave.image.op.PrintOp' primary='true'><SourceLine classname='it.tidalwave.image.op.PrintOp' start='42' end='105' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java'><Message>At PrintOp.java:[lines 42-105]</Message></SourceLine><Message>In class it.tidalwave.image.op.PrintOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.PrintOp' signature='()Ljava/awt/print/PrinterJob;' name='getPrinterJob' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.PrintOp' start='72' end='72' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.PrintOp.getPrinterJob()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.PrintOp' signature='Ljava/awt/print/PrinterJob;' name='printerJob' primary='true'><SourceLine classname='it.tidalwave.image.op.PrintOp' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java'><Message>In PrintOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.PrintOp.printerJob</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.PrintOp' start='72' end='72' sourcepath='it/tidalwave/image/op/PrintOp.java' sourcefile='PrintOp.java' startBytecode='4' primary='true'><Message>At PrintOp.java:[line 72]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='12098483b64ba8d0ac02dda635fe02f1' rank='20' abbrev='Dm' category='I18N' priority='3' type='DM_CONVERT_CASE' instanceOccurrenceMax='0'><ShortMessage>Consider using Locale parameterized version of invoked method</ShortMessage><LongMessage>Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.image.op.ReadOp.createImageReader(URL, ReadOp$PluginBlackList)</LongMessage><Class classname='it.tidalwave.image.op.ReadOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ReadOp' start='82' end='815' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java'><Message>At ReadOp.java:[lines 82-815]</Message></SourceLine><Message>In class it.tidalwave.image.op.ReadOp</Message></Class><Method isStatic='true' classname='it.tidalwave.image.op.ReadOp' signature='(Ljava/net/URL;Lit/tidalwave/image/op/ReadOp$PluginBlackList;)Ljavax/imageio/ImageReader;' name='createImageReader' primary='true'><SourceLine endBytecode='302' classname='it.tidalwave.image.op.ReadOp' start='504' end='524' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ReadOp.createImageReader(URL, ReadOp$PluginBlackList)</Message></Method><SourceLine endBytecode='20' classname='it.tidalwave.image.op.ReadOp' start='508' end='508' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='20' primary='true'><Message>At ReadOp.java:[line 508]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='4c8573d3decef610f56f5ed696384f51' rank='20' abbrev='Dm' category='I18N' priority='3' type='DM_CONVERT_CASE' instanceOccurrenceMax='0'><ShortMessage>Consider using Locale parameterized version of invoked method</ShortMessage><LongMessage>Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.image.op.ReadOp.createImageReader(Path, ReadOp$PluginBlackList)</LongMessage><Class classname='it.tidalwave.image.op.ReadOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ReadOp' start='82' end='815' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java'><Message>At ReadOp.java:[lines 82-815]</Message></SourceLine><Message>In class it.tidalwave.image.op.ReadOp</Message></Class><Method isStatic='true' classname='it.tidalwave.image.op.ReadOp' signature='(Ljava/nio/file/Path;Lit/tidalwave/image/op/ReadOp$PluginBlackList;)Ljavax/imageio/ImageReader;' name='createImageReader' primary='true'><SourceLine endBytecode='422' classname='it.tidalwave.image.op.ReadOp' start='439' end='488' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ReadOp.createImageReader(Path, ReadOp$PluginBlackList)</Message></Method><SourceLine endBytecode='84' classname='it.tidalwave.image.op.ReadOp' start='453' end='453' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='84' primary='true'><Message>At ReadOp.java:[line 453]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b98d2fb308df79b75fd06d58be84eb69' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='1'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in new it.tidalwave.image.op.ReadOp(Object, int, int, ReadOp$Options[]) due to return value of called method</LongMessage><Class classname='it.tidalwave.image.op.ReadOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ReadOp' start='82' end='815' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java'><Message>At ReadOp.java:[lines 82-815]</Message></SourceLine><Message>In class it.tidalwave.image.op.ReadOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.ReadOp' signature='(Ljava/lang/Object;II[Lit/tidalwave/image/op/ReadOp$Options;)V' name='<init>' primary='true'><SourceLine endBytecode='200' classname='it.tidalwave.image.op.ReadOp' start='404' end='411' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.ReadOp(Object, int, int, ReadOp$Options[])</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='23' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_STORED' endBytecode='23' classname='it.tidalwave.image.op.ReadOp' start='406' end='406' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='23' primary='true'><Message>Stored at ReadOp.java:[line 406]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='17' classname='it.tidalwave.image.op.ReadOp' start='406' end='406' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='17'><Message>Known null at ReadOp.java:[line 406]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='1' instanceHash='b98d2fb308df79b75fd06d58be84eb69' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='1'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in new it.tidalwave.image.op.ReadOp(Object, int, int, ReadOp$Options[]) due to return value of called method</LongMessage><Class classname='it.tidalwave.image.op.ReadOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ReadOp' start='82' end='815' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java'><Message>At ReadOp.java:[lines 82-815]</Message></SourceLine><Message>In class it.tidalwave.image.op.ReadOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.ReadOp' signature='(Ljava/lang/Object;II[Lit/tidalwave/image/op/ReadOp$Options;)V' name='<init>' primary='true'><SourceLine endBytecode='200' classname='it.tidalwave.image.op.ReadOp' start='404' end='411' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.ReadOp(Object, int, int, ReadOp$Options[])</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='40' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_STORED' endBytecode='40' classname='it.tidalwave.image.op.ReadOp' start='407' end='407' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='40' primary='true'><Message>Stored at ReadOp.java:[line 407]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='34' classname='it.tidalwave.image.op.ReadOp' start='407' end='407' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='34'><Message>Known null at ReadOp.java:[line 407]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='866f8bf4b39049cade2fae5f8c0ed84c' cweid='476' rank='13' abbrev='NP' category='STYLE' priority='2' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE' instanceOccurrenceMax='0'><ShortMessage>Possible null pointer dereference due to return value of called method</ShortMessage><LongMessage>Possible null pointer dereference in it.tidalwave.image.op.ReadOp.createImageReader(Path, ReadOp$PluginBlackList) due to return value of called method</LongMessage><Class classname='it.tidalwave.image.op.ReadOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ReadOp' start='82' end='815' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java'><Message>At ReadOp.java:[lines 82-815]</Message></SourceLine><Message>In class it.tidalwave.image.op.ReadOp</Message></Class><Method isStatic='true' classname='it.tidalwave.image.op.ReadOp' signature='(Ljava/nio/file/Path;Lit/tidalwave/image/op/ReadOp$PluginBlackList;)Ljavax/imageio/ImageReader;' name='createImageReader' primary='true'><SourceLine endBytecode='422' classname='it.tidalwave.image.op.ReadOp' start='439' end='488' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ReadOp.createImageReader(Path, ReadOp$PluginBlackList)</Message></Method><LocalVariable role='LOCAL_VARIABLE_UNKNOWN' pc='74' name='?' register='-1'><Message>Local variable stored in JVM register ?</Message></LocalVariable><SourceLine role='SOURCE_LINE_DEREF' endBytecode='74' classname='it.tidalwave.image.op.ReadOp' start='451' end='451' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='74' primary='true'><Message>Dereferenced at ReadOp.java:[line 451]</Message></SourceLine><SourceLine role='SOURCE_LINE_KNOWN_NULL' endBytecode='69' classname='it.tidalwave.image.op.ReadOp' start='451' end='451' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='69'><Message>Known null at ReadOp.java:[line 451]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='9645b08fcdfcb403c5c6d8f0f0b09956' cweid='476' rank='11' abbrev='RCN' category='CORRECTNESS' priority='2' type='RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE' instanceOccurrenceMax='0'><ShortMessage>Nullcheck of value previously dereferenced</ShortMessage><LongMessage>Nullcheck of reader at line 599 of value previously dereferenced in it.tidalwave.image.op.ReadOp.createImageReader(ImageInputStream, Iterator, ReadOp$PluginBlackList)</LongMessage><Class classname='it.tidalwave.image.op.ReadOp' primary='true'><SourceLine classname='it.tidalwave.image.op.ReadOp' start='82' end='815' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java'><Message>At ReadOp.java:[lines 82-815]</Message></SourceLine><Message>In class it.tidalwave.image.op.ReadOp</Message></Class><Method isStatic='true' classname='it.tidalwave.image.op.ReadOp' signature='(Ljavax/imageio/stream/ImageInputStream;Ljava/util/Iterator;Lit/tidalwave/image/op/ReadOp$PluginBlackList;)Ljavax/imageio/ImageReader;' name='createImageReader' primary='true'><SourceLine endBytecode='580' classname='it.tidalwave.image.op.ReadOp' start='585' end='639' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.ReadOp.createImageReader(ImageInputStream, Iterator, ReadOp$PluginBlackList)</Message></Method><LocalVariable role='LOCAL_VARIABLE_VALUE_OF' pc='78' name='reader' register='5'><Message>Value loaded from reader</Message></LocalVariable><Method isStatic='false' role='METHOD_RETURN_VALUE_OF' classname='java.util.Iterator' signature='()Ljava/lang/Object;' name='next'><SourceLine classname='java.util.Iterator' sourcepath='java/util/Iterator.java' sourcefile='Iterator.java'></SourceLine><Message>Return value of java.util.Iterator.next() of type Object</Message></Method><SourceLine endBytecode='70' classname='it.tidalwave.image.op.ReadOp' start='599' end='599' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='70' primary='true'><Message>At ReadOp.java:[line 599]</Message></SourceLine><SourceLine role='SOURCE_REDUNDANT_NULL_CHECK' endBytecode='80' classname='it.tidalwave.image.op.ReadOp' start='601' end='601' sourcepath='it/tidalwave/image/op/ReadOp.java' sourcefile='ReadOp.java' startBytecode='80'><Message>Redundant null check at ReadOp.java:[line 601]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='bf1b91e54e95407c4baeaf36a26808b5' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.WrapOp.getSourceImage() may expose internal representation by returning WrapOp.sourceImage</LongMessage><Class classname='it.tidalwave.image.op.WrapOp' primary='true'><SourceLine classname='it.tidalwave.image.op.WrapOp' start='45' end='72' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java'><Message>At WrapOp.java:[lines 45-72]</Message></SourceLine><Message>In class it.tidalwave.image.op.WrapOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.WrapOp' signature='()Ljava/awt/image/BufferedImage;' name='getSourceImage' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.WrapOp' start='61' end='61' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.WrapOp.getSourceImage()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.WrapOp' signature='Ljava/awt/image/BufferedImage;' name='sourceImage' primary='true'><SourceLine classname='it.tidalwave.image.op.WrapOp' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java'><Message>In WrapOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.WrapOp.sourceImage</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.WrapOp' start='61' end='61' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java' startBytecode='4' primary='true'><Message>At WrapOp.java:[line 61]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='81ee7ccc0f225b119e013ac6143c0494' 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 it.tidalwave.image.op.WrapOp(BufferedImage) may expose internal representation by storing an externally mutable object into WrapOp.sourceImage</LongMessage><Class classname='it.tidalwave.image.op.WrapOp' primary='true'><SourceLine classname='it.tidalwave.image.op.WrapOp' start='45' end='72' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java'><Message>At WrapOp.java:[lines 45-72]</Message></SourceLine><Message>In class it.tidalwave.image.op.WrapOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.WrapOp' signature='(Ljava/awt/image/BufferedImage;)V' name='<init>' primary='true'><SourceLine endBytecode='112' classname='it.tidalwave.image.op.WrapOp' start='45' end='52' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.WrapOp(BufferedImage)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.WrapOp' signature='Ljava/awt/image/BufferedImage;' name='sourceImage' primary='true'><SourceLine classname='it.tidalwave.image.op.WrapOp' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java'><Message>In WrapOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.WrapOp.sourceImage</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='20' name='sourceImage' register='1'><Message>Local variable named sourceImage</Message></LocalVariable><SourceLine endBytecode='20' classname='it.tidalwave.image.op.WrapOp' start='51' end='51' sourcepath='it/tidalwave/image/op/WrapOp.java' sourcefile='WrapOp.java' startBytecode='20' primary='true'><Message>At WrapOp.java:[line 51]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='c5f2c3290a2fcbe67be24da7c6eb1036' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.WriteOp.getIIOMetadata() may expose internal representation by returning WriteOp.iioMetadata</LongMessage><Class classname='it.tidalwave.image.op.WriteOp' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' start='57' end='183' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>At WriteOp.java:[lines 57-183]</Message></SourceLine><Message>In class it.tidalwave.image.op.WriteOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='()Ljavax/imageio/metadata/IIOMetadata;' name='getIIOMetadata' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.WriteOp' start='172' end='172' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.WriteOp.getIIOMetadata()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='Ljavax/imageio/metadata/IIOMetadata;' name='iioMetadata' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>In WriteOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.WriteOp.iioMetadata</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.WriteOp' start='172' end='172' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='4' primary='true'><Message>At WriteOp.java:[line 172]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='bc6b6bdd5b1ebaa67561766ada0f6bec' cweid='374' rank='18' abbrev='EI' category='MALICIOUS_CODE' priority='2' type='EI_EXPOSE_REP' instanceOccurrenceMax='0'><ShortMessage>May expose internal representation by returning reference to mutable object</ShortMessage><LongMessage>it.tidalwave.image.op.WriteOp.getImageWriteParam() may expose internal representation by returning WriteOp.imageWriteParam</LongMessage><Class classname='it.tidalwave.image.op.WriteOp' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' start='57' end='183' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>At WriteOp.java:[lines 57-183]</Message></SourceLine><Message>In class it.tidalwave.image.op.WriteOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='()Ljavax/imageio/ImageWriteParam;' name='getImageWriteParam' primary='true'><SourceLine endBytecode='46' classname='it.tidalwave.image.op.WriteOp' start='162' end='162' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.op.WriteOp.getImageWriteParam()</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='Ljavax/imageio/ImageWriteParam;' name='imageWriteParam' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>In WriteOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.WriteOp.imageWriteParam</Message></Field><SourceLine endBytecode='4' classname='it.tidalwave.image.op.WriteOp' start='162' end='162' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='4' primary='true'><Message>At WriteOp.java:[line 162]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b2f2bde9196c0a504468a5335ac8c833' 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 it.tidalwave.image.op.WriteOp(String, Object, ImageWriteParam, IIOMetadata) may expose internal representation by storing an externally mutable object into WriteOp.iioMetadata</LongMessage><Class classname='it.tidalwave.image.op.WriteOp' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' start='57' end='183' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>At WriteOp.java:[lines 57-183]</Message></SourceLine><Message>In class it.tidalwave.image.op.WriteOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='(Ljava/lang/String;Ljava/lang/Object;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;)V' name='<init>' primary='true'><SourceLine endBytecode='268' classname='it.tidalwave.image.op.WriteOp' start='111' end='136' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.WriteOp(String, Object, ImageWriteParam, IIOMetadata)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='Ljavax/imageio/metadata/IIOMetadata;' name='iioMetadata' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>In WriteOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.WriteOp.iioMetadata</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='98' name='iioMetadata' register='4'><Message>Local variable named iioMetadata</Message></LocalVariable><SourceLine endBytecode='98' classname='it.tidalwave.image.op.WriteOp' start='135' end='135' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='98' primary='true'><Message>At WriteOp.java:[line 135]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='7ee7047ce775a2f59730d7fc74043436' 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 it.tidalwave.image.op.WriteOp(String, Object, ImageWriteParam, IIOMetadata) may expose internal representation by storing an externally mutable object into WriteOp.imageWriteParam</LongMessage><Class classname='it.tidalwave.image.op.WriteOp' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' start='57' end='183' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>At WriteOp.java:[lines 57-183]</Message></SourceLine><Message>In class it.tidalwave.image.op.WriteOp</Message></Class><Method isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='(Ljava/lang/String;Ljava/lang/Object;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;)V' name='<init>' primary='true'><SourceLine endBytecode='268' classname='it.tidalwave.image.op.WriteOp' start='111' end='136' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='0'></SourceLine><Message>In method new it.tidalwave.image.op.WriteOp(String, Object, ImageWriteParam, IIOMetadata)</Message></Method><Field isStatic='false' classname='it.tidalwave.image.op.WriteOp' signature='Ljavax/imageio/ImageWriteParam;' name='imageWriteParam' primary='true'><SourceLine classname='it.tidalwave.image.op.WriteOp' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java'><Message>In WriteOp.java</Message></SourceLine><Message>Field it.tidalwave.image.op.WriteOp.imageWriteParam</Message></Field><LocalVariable role='LOCAL_VARIABLE_NAMED' pc='92' name='imageWriteParam' register='3'><Message>Local variable named imageWriteParam</Message></LocalVariable><SourceLine endBytecode='92' classname='it.tidalwave.image.op.WriteOp' start='134' end='134' sourcepath='it/tidalwave/image/op/WriteOp.java' sourcefile='WriteOp.java' startBytecode='92' primary='true'><Message>At WriteOp.java:[line 134]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='96608d67373687ded91a69bca27f09ac' rank='16' abbrev='HE' category='BAD_PRACTICE' priority='2' type='HE_EQUALS_USE_HASHCODE' instanceOccurrenceMax='0'><ShortMessage>Class defines equals() and uses Object.hashCode()</ShortMessage><LongMessage>it.tidalwave.image.tools.TestInfo defines equals and uses Object.hashCode()</LongMessage><Class classname='it.tidalwave.image.tools.TestInfo' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestInfo' start='54' end='183' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>At TestReportFormatter.java:[lines 54-183]</Message></SourceLine><Message>In class it.tidalwave.image.tools.TestInfo</Message></Class><Method isStatic='false' classname='it.tidalwave.image.tools.TestInfo' signature='(Ljava/lang/Object;)Z' name='equals' primary='true'><SourceLine endBytecode='97' classname='it.tidalwave.image.tools.TestInfo' start='173' end='178' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.tools.TestInfo.equals(Object)</Message></Method><SourceLine synthetic='true' endBytecode='97' classname='it.tidalwave.image.tools.TestInfo' start='173' end='178' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'><Message>At TestReportFormatter.java:[lines 173-178]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='b582fd806809082dd0e7ca1e650c0091' rank='2' abbrev='Nm' category='CORRECTNESS' priority='1' type='NM_LCASE_HASHCODE' instanceOccurrenceMax='0'><ShortMessage>Class defines hashcode(); should it be hashCode()?</ShortMessage><LongMessage>Class it.tidalwave.image.tools.TestInfo defines hashcode(); should it be hashCode()?</LongMessage><Class classname='it.tidalwave.image.tools.TestInfo' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestInfo' start='54' end='183' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>At TestReportFormatter.java:[lines 54-183]</Message></SourceLine><Message>In class it.tidalwave.image.tools.TestInfo</Message></Class><Method isStatic='false' classname='it.tidalwave.image.tools.TestInfo' signature='()I' name='hashcode' primary='true'><SourceLine endBytecode='73' classname='it.tidalwave.image.tools.TestInfo' start='183' end='183' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.tools.TestInfo.hashcode()</Message></Method><SourceLine synthetic='true' endBytecode='73' classname='it.tidalwave.image.tools.TestInfo' start='183' end='183' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'><Message>At TestReportFormatter.java:[line 183]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='1428d55aee36dbd594a774326321adc5' rank='17' abbrev='ST' category='STYLE' priority='2' type='ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD' instanceOccurrenceMax='0'><ShortMessage>Write to static field from instance method</ShortMessage><LongMessage>Write to static field it.tidalwave.image.tools.TestInfo.latestTest from instance method it.tidalwave.image.tools.TestInfo.print(PrintWriter)</LongMessage><Class classname='it.tidalwave.image.tools.TestInfo' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestInfo' start='54' end='183' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>At TestReportFormatter.java:[lines 54-183]</Message></SourceLine><Message>In class it.tidalwave.image.tools.TestInfo</Message></Class><Method isStatic='false' classname='it.tidalwave.image.tools.TestInfo' signature='(Ljava/io/PrintWriter;)V' name='print' primary='true'><SourceLine endBytecode='279' classname='it.tidalwave.image.tools.TestInfo' start='106' end='123' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.tools.TestInfo.print(PrintWriter)</Message></Method><Field isStatic='true' classname='it.tidalwave.image.tools.TestInfo' signature='Ljava/lang/String;' name='latestTest' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestInfo' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>In TestReportFormatter.java</Message></SourceLine><Message>Field it.tidalwave.image.tools.TestInfo.latestTest</Message></Field><SourceLine endBytecode='43' classname='it.tidalwave.image.tools.TestInfo' start='109' end='109' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='43' primary='true'><Message>At TestReportFormatter.java:[line 109]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='89cccc24aeb306faeb582d1a42d3052c' rank='20' abbrev='ST' category='STYLE' priority='3' type='ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD' instanceOccurrenceMax='0'><ShortMessage>Write to static field from instance method</ShortMessage><LongMessage>Write to static field it.tidalwave.image.tools.TestInfo.k from instance method it.tidalwave.image.tools.TestInfo.print(PrintWriter)</LongMessage><Class classname='it.tidalwave.image.tools.TestInfo' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestInfo' start='54' end='183' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>At TestReportFormatter.java:[lines 54-183]</Message></SourceLine><Message>In class it.tidalwave.image.tools.TestInfo</Message></Class><Method isStatic='false' classname='it.tidalwave.image.tools.TestInfo' signature='(Ljava/io/PrintWriter;)V' name='print' primary='true'><SourceLine endBytecode='279' classname='it.tidalwave.image.tools.TestInfo' start='106' end='123' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.tools.TestInfo.print(PrintWriter)</Message></Method><Field isStatic='true' classname='it.tidalwave.image.tools.TestInfo' signature='I' name='k' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestInfo' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>In TestReportFormatter.java</Message></SourceLine><Message>Field it.tidalwave.image.tools.TestInfo.k</Message></Field><SourceLine endBytecode='27' classname='it.tidalwave.image.tools.TestInfo' start='108' end='108' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='27' primary='true'><Message>At TestReportFormatter.java:[line 108]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='37e2705185ab88d5780fae10062086f4' rank='16' abbrev='Eq' category='BAD_PRACTICE' priority='2' type='EQ_COMPARETO_USE_OBJECT_EQUALS' instanceOccurrenceMax='0'><ShortMessage>Class defines compareTo(...) and uses Object.equals()</ShortMessage><LongMessage>it.tidalwave.image.tools.TestResults defines compareTo(TestResults) and uses Object.equals()</LongMessage><Class classname='it.tidalwave.image.tools.TestResults' primary='true'><SourceLine classname='it.tidalwave.image.tools.TestResults' start='188' end='227' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java'><Message>At TestReportFormatter.java:[lines 188-227]</Message></SourceLine><Message>In class it.tidalwave.image.tools.TestResults</Message></Class><Method isStatic='false' classname='it.tidalwave.image.tools.TestResults' signature='(Lit/tidalwave/image/tools/TestResults;)I' name='compareTo' primary='true'><SourceLine endBytecode='121' classname='it.tidalwave.image.tools.TestResults' start='205' end='214' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.tools.TestResults.compareTo(TestResults)</Message></Method><SourceLine synthetic='true' endBytecode='121' classname='it.tidalwave.image.tools.TestResults' start='205' end='214' sourcepath='it/tidalwave/image/tools/TestReportFormatter.java' sourcefile='TestReportFormatter.java' startBytecode='0'><Message>At TestReportFormatter.java:[lines 205-214]</Message></SourceLine></BugInstance><BugInstance instanceOccurrenceNum='0' instanceHash='5805f727eeba8daa4657a4c85e1b6343' rank='20' abbrev='Dm' category='I18N' priority='3' type='DM_CONVERT_CASE' instanceOccurrenceMax='0'><ShortMessage>Consider using Locale parameterized version of invoked method</ShortMessage><LongMessage>Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.image.util.Platform.<static initializer for Platform>()</LongMessage><Class classname='it.tidalwave.image.util.Platform' primary='true'><SourceLine classname='it.tidalwave.image.util.Platform' start='36' end='50' sourcepath='it/tidalwave/image/util/Platform.java' sourcefile='Platform.java'><Message>At Platform.java:[lines 36-50]</Message></SourceLine><Message>In class it.tidalwave.image.util.Platform</Message></Class><Method isStatic='true' classname='it.tidalwave.image.util.Platform' signature='()V' name='<clinit>' primary='true'><SourceLine endBytecode='60' classname='it.tidalwave.image.util.Platform' start='36' end='37' sourcepath='it/tidalwave/image/util/Platform.java' sourcefile='Platform.java' startBytecode='0'></SourceLine><Message>In method it.tidalwave.image.util.Platform.<static initializer for Platform>()</Message></Method><SourceLine endBytecode='5' classname='it.tidalwave.image.util.Platform' start='36' end='36' sourcepath='it/tidalwave/image/util/Platform.java' sourcefile='Platform.java' startBytecode='5' primary='true'><Message>At Platform.java:[line 36]</Message></SourceLine><SourceLine role='SOURCE_LINE_ANOTHER_INSTANCE' endBytecode='21' classname='it.tidalwave.image.util.Platform' start='37' end='37' sourcepath='it/tidalwave/image/util/Platform.java' sourcefile='Platform.java' startBytecode='21'><Message>Another occurrence at Platform.java:[line 37]</Message></SourceLine></BugInstance><BugCategory category='BAD_PRACTICE'><Description>Bad practice</Description></BugCategory><BugCategory category='MALICIOUS_CODE'><Description>Malicious code vulnerability</Description></BugCategory><BugCategory category='CORRECTNESS'><Description>Correctness</Description></BugCategory><BugCategory category='PERFORMANCE'><Description>Performance</Description></BugCategory><BugCategory category='STYLE'><Description>Dodgy code</Description></BugCategory><BugCategory category='MT_CORRECTNESS'><Description>Multithreaded correctness</Description></BugCategory><BugCategory category='I18N'><Description>Internationalization</Description></BugCategory><BugPattern abbrev='ICAST' category='STYLE' type='ICAST_IDIV_CAST_TO_DOUBLE'><ShortDescription>Integral division result cast to double or float</ShortDescription><Details>
<p>
This code casts the result of an integral division (e.g., int or long division)
operation to double or
float.
Doing division on integers truncates the result
to the integer value closest to zero. The fact that the result
was cast to double suggests that this precision should have been retained.
What was probably meant was to cast one or both of the operands to
double <em>before</em> performing the division. Here is an example:
</p>
<pre><code>int x = 2;
int y = 5;
// Wrong: yields result 0.0
double value1 = x / y;
// Right: yields result 0.4
double value2 = x / (double) y;
</code></pre>
</Details></BugPattern><BugPattern abbrev='DLS' category='STYLE' type='DLS_DEAD_LOCAL_STORE'><ShortDescription>Dead store to local variable</ShortDescription><Details>
<p>
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.
</p>
<p>
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.
</p>
</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>
<p> This code stores a reference to an externally mutable object into the
internal representation of the object.&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.</p>
</Details></BugPattern><BugPattern abbrev='NP' category='CORRECTNESS' type='NP_NONNULL_RETURN_VIOLATION'><ShortDescription>Method may return null, but is declared @Nonnull</ShortDescription><Details>
<p>
This method may return a null value, but the method (or a superclass method
which it overrides) is declared to return @Nonnull.
</p>
</Details></BugPattern><BugPattern abbrev='NP' category='STYLE' type='NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE'><ShortDescription>Possible null pointer dereference due to return value of called method</ShortDescription><Details>
<p> The return value from a method is dereferenced without a null check,
and the return value of that method is one that should generally be checked
for null. This may lead to a <code>NullPointerException</code> when the code is executed.
</p>
</Details></BugPattern><BugPattern abbrev='ICAST' category='STYLE' type='ICAST_INTEGER_MULTIPLY_CAST_TO_LONG'><ShortDescription>Result of integer multiplication cast to long</ShortDescription><Details>
<p>
This code performs integer multiply and then converts the result to a long,
as in:</p>
<pre><code>long convertDaysToMilliseconds(int days) { return 1000*3600*24*days; }
</code></pre>
<p>
If the multiplication is done using long arithmetic, you can avoid
the possibility that the result will overflow. For example, you
could fix the above code to:</p>
<pre><code>long convertDaysToMilliseconds(int days) { return 1000L*3600*24*days; }
</code></pre>
<p>
or
</p>
<pre><code>static final long MILLISECONDS_PER_DAY = 24L*3600*1000;
long convertDaysToMilliseconds(int days) { return days * MILLISECONDS_PER_DAY; }
</code></pre>
</Details></BugPattern><BugPattern abbrev='UrF' category='PERFORMANCE' type='URF_UNREAD_FIELD'><ShortDescription>Unread field</ShortDescription><Details>
<p> This field is never read.&nbsp; Consider removing it from the class.</p>
</Details></BugPattern><BugPattern cweid='396' abbrev='REC' category='STYLE' type='REC_CATCH_EXCEPTION'><ShortDescription>Exception is caught when Exception is not thrown</ShortDescription><Details>
<p>
This method uses a try-catch block that catches Exception objects, but Exception is not
thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to
say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception
each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well,
masking potential bugs.
</p>
<p>A better approach is to either explicitly catch the specific exceptions that are thrown,
or to explicitly catch RuntimeException exception, rethrow it, and then catch all non-Runtime Exceptions, as shown below:</p>
<pre><code>try {
...
} catch (RuntimeException e) {
throw e;
} catch (Exception e) {
... deal with all non-runtime exceptions ...
}
</code></pre>
</Details></BugPattern><BugPattern abbrev='BC' category='STYLE' type='BC_UNCONFIRMED_CAST'><ShortDescription>Unchecked/unconfirmed cast</ShortDescription><Details>
<p>
This cast is unchecked, and not all instances of the type casted from can be cast to
the type it is being cast to. Check that your program logic ensures that this
cast will not fail.
</p>
</Details></BugPattern><BugPattern abbrev='CN' category='BAD_PRACTICE' type='CN_IDIOM'><ShortDescription>Class implements Cloneable but does not define or use clone method</ShortDescription><Details>
<p>
Class implements Cloneable but does not define or
use the clone method.</p>
</Details></BugPattern><BugPattern abbrev='MS' category='MALICIOUS_CODE' type='MS_EXPOSE_REP'><ShortDescription>Public static method may expose internal representation by returning array</ShortDescription><Details>
<p> A public static method returns a reference to
an array that is part of the static state of the class.
Any code that calls this method can freely modify
the underlying array.
One fix is to return a copy of the array.</p>
</Details></BugPattern><BugPattern abbrev='RCN' category='STYLE' type='RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE'><ShortDescription>Redundant nullcheck of value known to be non-null</ShortDescription><Details>
<p> This method contains a redundant check of a known non-null value against
the constant null.</p>
</Details></BugPattern><BugPattern abbrev='RCN' category='CORRECTNESS' type='RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE'><ShortDescription>Nullcheck of value previously dereferenced</ShortDescription><Details>
<p> A value is checked here to see whether it is null, but this value can't
be null because it was previously dereferenced and if it were null a null pointer
exception would have occurred at the earlier dereference.
Essentially, this code and the previous dereference
disagree as to whether this value is allowed to be null. Either the check is redundant
or the previous dereference is erroneous.</p>
</Details></BugPattern><BugPattern abbrev='Eq' category='BAD_PRACTICE' type='EQ_COMPARETO_USE_OBJECT_EQUALS'><ShortDescription>Class defines compareTo(...) and uses Object.equals()</ShortDescription><Details>
<p> This class defines a <code>compareTo(...)</code> method but inherits its
<code>equals()</code> method from <code>java.lang.Object</code>.
Generally, the value of compareTo should return zero if and only if
equals returns true. If this is violated, weird and unpredictable
failures will occur in classes such as PriorityQueue.
In Java 5 the PriorityQueue.remove method uses the compareTo method,
while in Java 6 it uses the equals method.</p>
<p>From the JavaDoc for the compareTo method in the Comparable interface:
<blockquote>
It is strongly recommended, but not strictly required that <code>(x.compareTo(y)==0) == (x.equals(y))</code>.
Generally speaking, any class that implements the Comparable interface and violates this condition
should clearly indicate this fact. The recommended language
is "Note: this class has a natural ordering that is inconsistent with equals."
</blockquote></p>
</Details></BugPattern><BugPattern abbrev='ST' category='STYLE' type='ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD'><ShortDescription>Write to static field from instance method</ShortDescription><Details>
<p> This instance method writes to a static field. This is tricky to get
correct if multiple instances are being manipulated,
and generally bad practice.
</p>
</Details></BugPattern><BugPattern cweid='374' abbrev='EI' category='MALICIOUS_CODE' type='EI_EXPOSE_REP'><ShortDescription>May expose internal representation by returning reference to mutable object</ShortDescription><Details>
<p> Returning a reference to a mutable object value stored in one of the object's fields
exposes the internal representation of the object.&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.
Returning a new copy of the object is better approach in many situations.</p>
</Details></BugPattern><BugPattern abbrev='NP' category='CORRECTNESS' type='NP_NULL_PARAM_DEREF'><ShortDescription>Method call passes null for non-null parameter</ShortDescription><Details>
<p>
This method call passes a null value for a non-null method parameter.
Either the parameter is annotated as a parameter that should
always be non-null, or analysis has shown that it will always be
dereferenced.
</p>
</Details></BugPattern><BugPattern abbrev='SIC' category='PERFORMANCE' type='SIC_INNER_SHOULD_BE_STATIC_ANON'><ShortDescription>Could be refactored into a named static inner class</ShortDescription><Details>
<p> This class is an inner class, but does not use its embedded reference
to the object which created it.&nbsp; This reference makes the instances
of the class larger, and may keep the reference to the creator object
alive longer than necessary.&nbsp; If possible, the class should be
made into a <em>static</em> inner class. Since anonymous inner
classes cannot be marked as static, doing this will require refactoring
the inner class so that it is a named inner class.</p>
</Details></BugPattern><BugPattern abbrev='TQ' category='CORRECTNESS' type='TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED'><ShortDescription>Value annotated as never carrying a type qualifier used where value carrying that qualifier is required</ShortDescription><Details>
<p>
A value specified as not carrying a type qualifier annotation is guaranteed
to be consumed in a location or locations requiring that the value does
carry that annotation.
</p>
<p>
More precisely, a value annotated with a type qualifier specifying when=NEVER
is guaranteed to reach a use or uses where the same type qualifier specifies when=ALWAYS.
</p>
<p>
TODO: example
example
</p>
</Details></BugPattern><BugPattern abbrev='Dm' category='I18N' type='DM_DEFAULT_ENCODING'><ShortDescription>Reliance on default encoding</ShortDescription><Details>
<p> 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 behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly. </p>
</Details></BugPattern><BugPattern abbrev='Se' category='BAD_PRACTICE' type='SE_BAD_FIELD'><ShortDescription>Non-transient non-serializable instance field in serializable class</ShortDescription><Details>
<p> This Serializable class defines a non-primitive instance field which is neither transient,
Serializable, or <code>java.lang.Object</code>, and does not appear to implement
the <code>Externalizable</code> interface or the
<code>readObject()</code> and <code>writeObject()</code> methods.&nbsp;
Objects of this class will not be deserialized correctly if a non-Serializable
object is stored in this field.</p>
</Details></BugPattern><BugPattern abbrev='SF' category='STYLE' type='SF_SWITCH_NO_DEFAULT'><ShortDescription>Switch statement found where default case is missing</ShortDescription><Details>
<p> This method contains a switch statement where default case is missing.
Usually you need to provide a default case.</p>
<p>Because the analysis only looks at the generated bytecode, this warning can be incorrect triggered if
the default case is at the end of the switch statement and the switch statement doesn't contain break statements for other
cases.
</Details></BugPattern><BugPattern abbrev='RR' category='BAD_PRACTICE' type='RR_NOT_CHECKED'><ShortDescription>Method ignores results of InputStream.read()</ShortDescription><Details>
<p> This method ignores the return value of one of the variants of
<code>java.io.InputStream.read()</code> which can return multiple bytes.&nbsp;
If the return value is not checked, the caller will not be able to correctly
handle the case where fewer bytes were read than the caller requested.&nbsp;
This is a particularly insidious kind of bug, because in many programs,
reads from input streams usually do read the full amount of data requested,
causing the program to fail only sporadically.</p>
</Details></BugPattern><BugPattern abbrev='It' category='BAD_PRACTICE' type='IT_NO_SUCH_ELEMENT'><ShortDescription>Iterator next() method can't throw NoSuchElementException</ShortDescription><Details>
<p> This class implements the <code>java.util.Iterator</code> interface.&nbsp;
However, its <code>next()</code> method is not capable of throwing
<code>java.util.NoSuchElementException</code>.&nbsp; The <code>next()</code>
method should be changed so it throws <code>NoSuchElementException</code>
if is called when there are no more elements to return.</p>
</Details></BugPattern><BugPattern abbrev='MS' category='MALICIOUS_CODE' type='MS_MUTABLE_COLLECTION_PKGPROTECT'><ShortDescription>Field is a mutable collection which should be package protected</ShortDescription><Details>
<p>A mutable collection instance is assigned to a final static field,
thus can be changed by malicious code or by accident from another package.
The field could be made package protected to avoid this vulnerability.
Alternatively you may wrap this field into Collections.unmodifiableSet/List/Map/etc.
to avoid this vulnerability.</p>
</Details></BugPattern><BugPattern abbrev='FI' category='BAD_PRACTICE' type='FI_EMPTY'><ShortDescription>Empty finalizer should be deleted</ShortDescription><Details>
<p> Empty <code>finalize()</code> methods are useless, so they should
be deleted.</p>
</Details></BugPattern><BugPattern abbrev='RV' category='STYLE' type='RV_RETURN_VALUE_IGNORED_INFERRED'><ShortDescription>Method ignores return value, is this OK?</ShortDescription><Details>
<p>This code calls a method and ignores the return value. The return value
is the same type as the type the method is invoked on, and from our analysis it looks
like the return value might be important (e.g., like ignoring the
return value of <code>String.toLowerCase()</code>).
</p>
<p>We are guessing that ignoring the return value might be a bad idea just from
a simple analysis of the body of the method. You can use a @CheckReturnValue annotation
to instruct SpotBugs as to whether ignoring the return value of this method
is important or acceptable.
</p>
<p>Please investigate this closely to decide whether it is OK to ignore the return value.
</p>
</Details></BugPattern><BugPattern abbrev='Nm' category='CORRECTNESS' type='NM_LCASE_HASHCODE'><ShortDescription>Class defines hashcode(); should it be hashCode()?</ShortDescription><Details>
<p> This class defines a method called <code>hashcode()</code>.&nbsp; This method
does not override the <code>hashCode()</code> method in <code>java.lang.Object</code>,
which is probably what was intended.</p>
</Details></BugPattern><BugPattern abbrev='HE' category='BAD_PRACTICE' type='HE_EQUALS_USE_HASHCODE'><ShortDescription>Class defines equals() and uses Object.hashCode()</ShortDescription><Details>
<p> This class overrides <code>equals(Object)</code>, but does not
override <code>hashCode()</code>, and inherits the implementation of
<code>hashCode()</code> from <code>java.lang.Object</code> (which returns
the identity hash code, an arbitrary value assigned to the object
by the VM).&nbsp; Therefore, the class is very likely to violate the
invariant that equal objects must have equal hashcodes.</p>
<p>If you don't think instances of this class will ever be inserted into a HashMap/HashTable,
the recommended <code>hashCode</code> implementation to use is:</p>
<pre><code>public int hashCode() {
assert false : "hashCode not designed";
return 42; // any arbitrary constant will do
}
</code></pre>
</Details></BugPattern><BugPattern abbrev='IS' category='MT_CORRECTNESS' type='IS2_INCONSISTENT_SYNC'><ShortDescription>Inconsistent synchronization</ShortDescription><Details>
<p> The fields of this class appear to be accessed inconsistently with respect
to synchronization.&nbsp; This bug report indicates that the bug pattern detector
judged that
</p>
<ul>
<li> The class contains a mix of locked and unlocked accesses,</li>
<li> The class is <b>not</b> annotated as javax.annotation.concurrent.NotThreadSafe,</li>
<li> At least one locked access was performed by one of the class's own methods, and</li>
<li> The number of unsynchronized field accesses (reads and writes) was no more than
one third of all accesses, with writes being weighed twice as high as reads</li>
</ul>
<p> A typical bug matching this bug pattern is forgetting to synchronize
one of the methods in a class that is intended to be thread-safe.</p>
<p> You can select the nodes labeled "Unsynchronized access" to show the
code locations where the detector believed that a field was accessed
without synchronization.</p>
<p> Note that there are various sources of inaccuracy in this detector;
for example, the detector cannot statically detect all situations in which
a lock is held.&nbsp; Also, even when the detector is accurate in
distinguishing locked vs. unlocked accesses, the code in question may still
be correct.</p>
</Details></BugPattern><BugPattern abbrev='Se' category='BAD_PRACTICE' type='SE_TRANSIENT_FIELD_NOT_RESTORED'><ShortDescription>Transient field that isn't set by deserialization.</ShortDescription><Details>
<p> This class contains a field that is updated at multiple places in the class, thus it seems to be part of the state of the class. However, since the field is marked as transient and not set in readObject or readResolve, it will contain the default value in any
deserialized instance of the class.
</p>
</Details></BugPattern><BugPattern abbrev='SnVI' category='BAD_PRACTICE' type='SE_NO_SERIALVERSIONID'><ShortDescription>Class is Serializable, but doesn't define serialVersionUID</ShortDescription><Details>
<p> This class implements the <code>Serializable</code> interface, but does
not define a <code>serialVersionUID</code> field.&nbsp;
A change as simple as adding a reference to a .class object
will add synthetic fields to the class,
which will unfortunately change the implicit
serialVersionUID (e.g., adding a reference to <code>String.class</code>
will generate a static field <code>class$java$lang$String</code>).
Also, different source code to bytecode compilers may use different
naming conventions for synthetic variables generated for
references to class objects or inner classes.
To ensure interoperability of Serializable across versions,
consider adding an explicit serialVersionUID.</p>
</Details></BugPattern><BugPattern abbrev='Dm' category='I18N' type='DM_CONVERT_CASE'><ShortDescription>Consider using Locale parameterized version of invoked method</ShortDescription><Details>
<p> A String is being converted to upper or lowercase, using the platform's default encoding. This may
result in improper conversions when used with international characters. Use the </p>
<ul>
<li>String.toUpperCase( Locale l )</li>
<li>String.toLowerCase( Locale l )</li>
</ul>
<p>versions instead.</p>
</Details></BugPattern><BugCode abbrev='RR'><Description>Method ignores results of InputStream.read()</Description></BugCode><BugCode abbrev='BC'><Description>Bad casts of object references</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='SnVI'><Description>Serializable class with no Version ID</Description></BugCode><BugCode cweid='563' abbrev='DLS'><Description>Dead local store</Description></BugCode><BugCode abbrev='It'><Description>Incorrect definition of Iterator</Description></BugCode><BugCode abbrev='Eq'><Description>Problems with implementation of equals()</Description></BugCode><BugCode abbrev='EI2'><Description>Storing reference to mutable object</Description></BugCode><BugCode abbrev='SF'><Description>Switch case falls through</Description></BugCode><BugCode abbrev='Nm'><Description>Confusing method name</Description></BugCode><BugCode abbrev='ST'><Description>Misuse of static fields</Description></BugCode><BugCode abbrev='EI'><Description>Method returning array may expose internal representation</Description></BugCode><BugCode cweid='218' abbrev='MS'><Description>Mutable static field</Description></BugCode><BugCode abbrev='UrF'><Description>Unread field</Description></BugCode><BugCode abbrev='Dm'><Description>Dubious method used</Description></BugCode><BugCode cweid='366' abbrev='IS'><Description>Inconsistent synchronization</Description></BugCode><BugCode cweid='580' abbrev='CN'><Description>Bad implementation of cloneable idiom</Description></BugCode><BugCode abbrev='SIC'><Description>Inner class could be made static</Description></BugCode><BugCode cweid='192' abbrev='ICAST'><Description>Casting from integer values</Description></BugCode><BugCode abbrev='REC'><Description>RuntimeException capture</Description></BugCode><BugCode abbrev='Se'><Description>Incorrect definition of Serializable class</Description></BugCode><BugCode cweid='476' abbrev='RCN'><Description>Redundant comparison to null</Description></BugCode><BugCode abbrev='TQ'><Description>Inconsistent use of type qualifier annotations</Description></BugCode><BugCode abbrev='HE'><Description>Equal objects must have equal hashcodes</Description></BugCode><Errors missingClasses='0' errors='0'></Errors><FindBugsSummary num_packages='9' total_classes='132' priority_1='11' priority_2='65' priority_3='40' total_size='9824' clock_seconds='25.78' referenced_classes='371' vm_version='11.0.18+10' total_bugs='116' java_version='11.0.18' gc_seconds='1.72' alloc_mbytes='512.00' cpu_seconds='30.58' peak_mbytes='338.57' timestamp='Mon, 24 Apr 2023 04:49:59 +0000'><FileStats path='it/tidalwave/image/ColorMatrix.java' size='89' bugHash='23277e5feece24356b215cd2f467fac2' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/DefaultImageModelCache.java' size='13' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/EditableImage.java' size='240' bugHash='b8f1ccd13df8884764d1973921141c51' bugCount='7'></FileStats><FileStats path='it/tidalwave/image/Histogram.java' size='19' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/ImageFunction.java' size='5' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/ImageModel.java' size='102' bugHash='5c760a88e2a01b06355a84a7f8062ee6' bugCount='3'></FileStats><FileStats path='it/tidalwave/image/ImageModelCache.java' size='23' bugHash='73f4a366174e723a09f876487051e7f8' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/ImageModelHolder.java' size='32' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/ImageUtils.java' size='52' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/InterpolationType.java' size='17' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/Kernel2.java' size='22' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/Quality.java' size='13' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/Rational.java' size='39' bugHash='1ae7d40b20571ec80578668c259b72b5' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/SerializableImageModelHolder.java' size='12' bugHash='741b825b3b3ec0c7a5b6da8fee894736' bugCount='3'></FileStats><FileStats path='it/tidalwave/image/java2d/CaptureJ2DOp.java' size='21' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/ConvertToBufferedImageJ2DOp.java' size='10' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/ConvolveJ2DOp.java' size='8' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/CreateJ2DOp.java' size='66' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/CropJ2DOp.java' size='10' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/DrawJ2DOp.java' size='12' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/ImageModelJ2D.java' size='62' bugHash='183db26915090a1d857911e92ee16b8f' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/java2d/ImplementationFactoryJ2D.java' size='61' bugHash='29051c25dcee554546482c77af1f282e' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/java2d/Java2DUtils.java' size='296' bugHash='d58a2b15d78b187110c7a2c82e01c270' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/java2d/OptimizeJ2DOp.java' size='19' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/PaintJ2DOp.java' size='43' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/PrintJ2DOp.java' size='28' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/RotateJ2DOp.java' size='17' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/RotateQuadrantJ2DOp.java' size='39' bugHash='c1edc392d1c2d5b80d38acba51c96e84' bugCount='3'></FileStats><FileStats path='it/tidalwave/image/java2d/ScaleJ2DOp.java' size='25' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/WrapJ2DOp.java' size='10' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/java2d/WriteJ2DOp.java' size='48' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/Directory.java' size='220' bugHash='da0d59ee4bf5db123c4cbf0573ab0b45' bugCount='11'></FileStats><FileStats path='it/tidalwave/image/metadata/EXIF.java' size='93' bugHash='3b91577ed4836cda4ceb4fc32de40b7d' bugCount='7'></FileStats><FileStats path='it/tidalwave/image/metadata/EXIFDirectoryGenerated.java' size='4978' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/IPTC.java' size='16' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/IPTCDirectoryGenerated.java' size='1423' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/JavaBeanSupport.java' size='39' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/MakerNote.java' size='3' bugHash='62e2cc35d4e49c689c6a14006d633d78' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/metadata/TIFF.java' size='10' bugHash='86b204d3526732af71e8539472a8b310' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/metadata/WangAnnotations.java' size='187' bugHash='31641912a896df9bc5836dcf704b18f5' bugCount='25'></FileStats><FileStats path='it/tidalwave/image/metadata/XMP.java' size='11' bugHash='7ba9073efe310c32e8a146f48a56234f' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/DirectoryDrewLoader.java' size='47' bugHash='b843ab5fe9ad339c60c38a713b9d39a1' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/DirectoryLoader.java' size='16' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/DirectoryRawLoader.java' size='54' bugHash='a5587b8c231d1f4fd2367efeb8c5358d' bugCount='6'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/DirectoryTIFFLoader.java' size='16' bugHash='15e48fe026b5ec2a1d8d67a8d0c4d8c5' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/DrewMetadataLoader.java' size='41' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/JpegDrewMetadataLoader.java' size='36' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/MetadataLoader.java' size='13' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/RAWMetadataLoader.java' size='9' bugHash='355d6c415c153b08ffc0cd922a3449c3' bugCount='5'></FileStats><FileStats path='it/tidalwave/image/metadata/loader/TIFFMetadataLoader.java' size='11' bugHash='268444b6f83402144064e2d9c345f184' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/op/AbstractCreateOp.java' size='3' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/AccessorOp.java' size='4' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/CaptureOp.java' size='10' bugHash='9fa1fddfe80be869a220a5118e337cd0' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/op/ConvertToBufferedImageOp.java' size='11' bugHash='807f841c45e776d49f79e01a32061b58' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/op/ConvolveOp.java' size='10' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/CreateFunctionOp.java' size='12' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/CreateOp.java' size='58' bugHash='c2d8a23d2f755ffbd013da9641d76861' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/op/CropOp.java' size='22' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/DrawOp.java' size='14' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/ForceRenderingOp.java' size='6' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/ImplementationFactory.java' size='34' bugHash='d35395f413c76a95d532f4ab3fc41a53' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/op/ImplementationFactoryRegistry.java' size='44' bugHash='12254689a26915a9de489ebbf0573309' bugCount='1'></FileStats><FileStats path='it/tidalwave/image/op/Operation.java' size='3' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/OperationImplementation.java' size='23' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/OptimizeOp.java' size='20' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/PaintOp.java' size='56' bugHash='d887f7f1783832b113d8a6eb6c73ac8d' bugCount='4'></FileStats><FileStats path='it/tidalwave/image/op/PrintOp.java' size='36' bugHash='73bd3dc4dff5c0cbcfaa6eed4b549721' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/op/ReadOp.java' size='313' bugHash='a970f4bcdec4dc2ed3d2683edca71ffd' bugCount='6'></FileStats><FileStats path='it/tidalwave/image/op/RotateOp.java' size='21' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/RotateQuadrantOp.java' size='15' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/ScaleOp.java' size='27' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/SizeOp.java' size='10' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/op/WrapOp.java' size='12' bugHash='0b9cd84ee3c3af0fe3102846f02d1229' bugCount='2'></FileStats><FileStats path='it/tidalwave/image/op/WriteOp.java' size='42' bugHash='b927145d2166963084fec9fc13b0bee7' bugCount='4'></FileStats><FileStats path='it/tidalwave/image/op/impl/FileChannelImageInputStream.java' size='154' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/render/PreviewSettings.java' size='27' bugCount='0'></FileStats><FileStats path='it/tidalwave/image/tools/TestReportFormatter.java' size='148' bugHash='9b3ba07f569c02bc96bce7307d0ad034' bugCount='5'></FileStats><FileStats path='it/tidalwave/image/util/Platform.java' size='13' bugHash='5fe04641dd53f67570533531f7134e14' bugCount='1'></FileStats><PackageStats package='it.tidalwave.image' priority_1='1' total_bugs='16' priority_2='9' priority_3='6' total_size='678' total_types='18'><ClassStats bugs='1' size='89' priority_2='1' interface='false' sourceFile='ColorMatrix.java' class='it.tidalwave.image.ColorMatrix'></ClassStats><ClassStats bugs='0' size='13' interface='false' sourceFile='DefaultImageModelCache.java' class='it.tidalwave.image.DefaultImageModelCache'></ClassStats><ClassStats bugs='6' size='197' priority_1='1' priority_2='3' priority_3='2' interface='false' sourceFile='EditableImage.java' class='it.tidalwave.image.EditableImage'></ClassStats><ClassStats bugs='1' size='12' priority_2='1' interface='false' sourceFile='EditableImage.java' class='it.tidalwave.image.EditableImage$Accessor'></ClassStats><ClassStats bugs='0' size='31' interface='false' sourceFile='EditableImage.java' class='it.tidalwave.image.EditableImage$DataType'></ClassStats><ClassStats bugs='0' size='19' interface='false' sourceFile='Histogram.java' class='it.tidalwave.image.Histogram'></ClassStats><ClassStats bugs='0' size='5' interface='true' sourceFile='ImageFunction.java' class='it.tidalwave.image.ImageFunction'></ClassStats><ClassStats bugs='3' size='82' priority_2='1' priority_3='2' interface='false' sourceFile='ImageModel.java' class='it.tidalwave.image.ImageModel'></ClassStats><ClassStats bugs='0' size='11' interface='false' sourceFile='ImageModel.java' class='it.tidalwave.image.ImageModel$1'></ClassStats><ClassStats bugs='0' size='9' interface='false' sourceFile='ImageModel.java' class='it.tidalwave.image.ImageModel$2'></ClassStats><ClassStats bugs='1' size='23' priority_2='1' interface='false' sourceFile='ImageModelCache.java' class='it.tidalwave.image.ImageModelCache'></ClassStats><ClassStats bugs='0' size='32' interface='false' sourceFile='ImageModelHolder.java' class='it.tidalwave.image.ImageModelHolder'></ClassStats><ClassStats bugs='0' size='52' interface='false' sourceFile='ImageUtils.java' class='it.tidalwave.image.ImageUtils'></ClassStats><ClassStats bugs='0' size='17' interface='false' sourceFile='InterpolationType.java' class='it.tidalwave.image.InterpolationType'></ClassStats><ClassStats bugs='0' size='22' interface='false' sourceFile='Kernel2.java' class='it.tidalwave.image.Kernel2'></ClassStats><ClassStats bugs='0' size='13' interface='false' sourceFile='Quality.java' class='it.tidalwave.image.Quality'></ClassStats><ClassStats bugs='1' size='39' priority_3='1' interface='false' sourceFile='Rational.java' class='it.tidalwave.image.Rational'></ClassStats><ClassStats bugs='3' size='12' priority_2='2' priority_3='1' interface='false' sourceFile='SerializableImageModelHolder.java' class='it.tidalwave.image.SerializableImageModelHolder'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.java2d' total_bugs='6' priority_2='5' priority_3='1' total_size='775' total_types='18'><ClassStats bugs='0' size='21' interface='false' sourceFile='CaptureJ2DOp.java' class='it.tidalwave.image.java2d.CaptureJ2DOp'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='ConvertToBufferedImageJ2DOp.java' class='it.tidalwave.image.java2d.ConvertToBufferedImageJ2DOp'></ClassStats><ClassStats bugs='0' size='8' interface='false' sourceFile='ConvolveJ2DOp.java' class='it.tidalwave.image.java2d.ConvolveJ2DOp'></ClassStats><ClassStats bugs='0' size='62' interface='false' sourceFile='CreateJ2DOp.java' class='it.tidalwave.image.java2d.CreateJ2DOp'></ClassStats><ClassStats bugs='0' size='4' interface='false' sourceFile='CreateJ2DOp.java' class='it.tidalwave.image.java2d.CreateJ2DOp$1'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='CropJ2DOp.java' class='it.tidalwave.image.java2d.CropJ2DOp'></ClassStats><ClassStats bugs='0' size='12' interface='false' sourceFile='DrawJ2DOp.java' class='it.tidalwave.image.java2d.DrawJ2DOp'></ClassStats><ClassStats bugs='1' size='62' priority_2='1' interface='false' sourceFile='ImageModelJ2D.java' class='it.tidalwave.image.java2d.ImageModelJ2D'></ClassStats><ClassStats bugs='1' size='61' priority_3='1' interface='false' sourceFile='ImplementationFactoryJ2D.java' class='it.tidalwave.image.java2d.ImplementationFactoryJ2D'></ClassStats><ClassStats bugs='1' size='296' priority_2='1' interface='false' sourceFile='Java2DUtils.java' class='it.tidalwave.image.java2d.Java2DUtils'></ClassStats><ClassStats bugs='0' size='19' interface='false' sourceFile='OptimizeJ2DOp.java' class='it.tidalwave.image.java2d.OptimizeJ2DOp'></ClassStats><ClassStats bugs='0' size='43' interface='false' sourceFile='PaintJ2DOp.java' class='it.tidalwave.image.java2d.PaintJ2DOp'></ClassStats><ClassStats bugs='0' size='28' interface='false' sourceFile='PrintJ2DOp.java' class='it.tidalwave.image.java2d.PrintJ2DOp'></ClassStats><ClassStats bugs='0' size='17' interface='false' sourceFile='RotateJ2DOp.java' class='it.tidalwave.image.java2d.RotateJ2DOp'></ClassStats><ClassStats bugs='3' size='39' priority_2='3' interface='false' sourceFile='RotateQuadrantJ2DOp.java' class='it.tidalwave.image.java2d.RotateQuadrantJ2DOp'></ClassStats><ClassStats bugs='0' size='25' interface='false' sourceFile='ScaleJ2DOp.java' class='it.tidalwave.image.java2d.ScaleJ2DOp'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='WrapJ2DOp.java' class='it.tidalwave.image.java2d.WrapJ2DOp'></ClassStats><ClassStats bugs='0' size='48' interface='false' sourceFile='WriteJ2DOp.java' class='it.tidalwave.image.java2d.WriteJ2DOp'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.metadata' priority_1='7' total_bugs='47' priority_2='18' priority_3='22' total_size='6980' total_types='44'><ClassStats bugs='5' size='200' priority_2='1' priority_3='4' interface='false' sourceFile='Directory.java' class='it.tidalwave.image.metadata.Directory'></ClassStats><ClassStats bugs='6' size='20' priority_2='6' interface='false' sourceFile='Directory.java' class='it.tidalwave.image.metadata.Directory$Tag'></ClassStats><ClassStats bugs='7' size='93' priority_1='5' priority_2='1' priority_3='1' interface='false' sourceFile='EXIF.java' class='it.tidalwave.image.metadata.EXIF'></ClassStats><ClassStats bugs='0' size='4045' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated'></ClassStats><ClassStats bugs='0' size='81' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$CalibrationIlluminant1'></ClassStats><ClassStats bugs='0' size='81' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$CalibrationIlluminant2'></ClassStats><ClassStats bugs='0' size='24' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$ColorSpace'></ClassStats><ClassStats bugs='0' size='33' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$Compression'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$Contrast'></ClassStats><ClassStats bugs='0' size='24' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$CustomRendered'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$ExposureMode'></ClassStats><ClassStats bugs='0' size='45' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$ExposureProgram'></ClassStats><ClassStats bugs='0' size='21' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$FileSource'></ClassStats><ClassStats bugs='0' size='33' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$GainControl'></ClassStats><ClassStats bugs='0' size='81' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$LightSource'></ClassStats><ClassStats bugs='0' size='42' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$MeteringMode'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$NewSubFileType'></ClassStats><ClassStats bugs='0' size='42' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$Orientation'></ClassStats><ClassStats bugs='0' size='30' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$PhotometricInterpretation'></ClassStats><ClassStats bugs='0' size='24' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$PlanarConfiguration'></ClassStats><ClassStats bugs='0' size='33' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$PreviewColorSpace'></ClassStats><ClassStats bugs='0' size='30' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$ProfileEmbedPolicy'></ClassStats><ClassStats bugs='0' size='24' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$ResolutionUnit'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$Saturation'></ClassStats><ClassStats bugs='0' size='21' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$SceneType'></ClassStats><ClassStats bugs='0' size='39' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$SensingMethod'></ClassStats><ClassStats bugs='0' size='39' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$SensingMethod2'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$Sharpness'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$SubFileType'></ClassStats><ClassStats bugs='0' size='24' interface='false' sourceFile='EXIFDirectoryGenerated.java' class='it.tidalwave.image.metadata.EXIFDirectoryGenerated$WhiteBalance'></ClassStats><ClassStats bugs='0' size='16' interface='false' sourceFile='IPTC.java' class='it.tidalwave.image.metadata.IPTC'></ClassStats><ClassStats bugs='0' size='1285' interface='false' sourceFile='IPTCDirectoryGenerated.java' class='it.tidalwave.image.metadata.IPTCDirectoryGenerated'></ClassStats><ClassStats bugs='0' size='30' interface='false' sourceFile='IPTCDirectoryGenerated.java' class='it.tidalwave.image.metadata.IPTCDirectoryGenerated$ActionAdvised'></ClassStats><ClassStats bugs='0' size='108' interface='false' sourceFile='IPTCDirectoryGenerated.java' class='it.tidalwave.image.metadata.IPTCDirectoryGenerated$ObjectPreviewFileFormat'></ClassStats><ClassStats bugs='0' size='39' interface='false' sourceFile='JavaBeanSupport.java' class='it.tidalwave.image.metadata.JavaBeanSupport'></ClassStats><ClassStats bugs='1' size='3' priority_3='1' interface='false' sourceFile='MakerNote.java' class='it.tidalwave.image.metadata.MakerNote'></ClassStats><ClassStats bugs='2' size='10' priority_2='1' priority_3='1' interface='false' sourceFile='TIFF.java' class='it.tidalwave.image.metadata.TIFF'></ClassStats><ClassStats bugs='3' size='44' priority_1='1' priority_2='2' interface='false' sourceFile='WangAnnotations.java' class='it.tidalwave.image.metadata.WangAnnotations'></ClassStats><ClassStats bugs='5' size='59' priority_2='1' priority_3='4' interface='false' sourceFile='WangAnnotations.java' class='it.tidalwave.image.metadata.WangAnnotations$Attributes'></ClassStats><ClassStats bugs='13' size='41' priority_1='1' priority_2='1' priority_3='11' interface='false' sourceFile='WangAnnotations.java' class='it.tidalwave.image.metadata.WangAnnotations$Attributes$LogFont'></ClassStats><ClassStats bugs='0' size='7' interface='false' sourceFile='WangAnnotations.java' class='it.tidalwave.image.metadata.WangAnnotations$Internal'></ClassStats><ClassStats bugs='3' size='26' priority_2='3' interface='false' sourceFile='WangAnnotations.java' class='it.tidalwave.image.metadata.WangAnnotations$OiAnText'></ClassStats><ClassStats bugs='1' size='10' priority_2='1' interface='false' sourceFile='WangAnnotations.java' class='it.tidalwave.image.metadata.WangAnnotations$OiHilite'></ClassStats><ClassStats bugs='1' size='11' priority_2='1' interface='false' sourceFile='XMP.java' class='it.tidalwave.image.metadata.XMP'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.metadata.loader' priority_1='1' total_bugs='16' priority_2='9' priority_3='6' total_size='243' total_types='10'><ClassStats bugs='2' size='47' priority_2='1' priority_3='1' interface='false' sourceFile='DirectoryDrewLoader.java' class='it.tidalwave.image.metadata.loader.DirectoryDrewLoader'></ClassStats><ClassStats bugs='0' size='16' interface='true' sourceFile='DirectoryLoader.java' class='it.tidalwave.image.metadata.loader.DirectoryLoader'></ClassStats><ClassStats bugs='6' size='54' priority_1='1' priority_2='5' interface='false' sourceFile='DirectoryRawLoader.java' class='it.tidalwave.image.metadata.loader.DirectoryRawLoader'></ClassStats><ClassStats bugs='1' size='16' priority_2='1' interface='false' sourceFile='DirectoryTIFFLoader.java' class='it.tidalwave.image.metadata.loader.DirectoryTIFFLoader'></ClassStats><ClassStats bugs='0' size='41' interface='false' sourceFile='DrewMetadataLoader.java' class='it.tidalwave.image.metadata.loader.DrewMetadataLoader'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='JpegDrewMetadataLoader.java' class='it.tidalwave.image.metadata.loader.JpegDrewMetadataLoader'></ClassStats><ClassStats bugs='0' size='9' interface='false' sourceFile='JpegDrewMetadataLoader.java' class='it.tidalwave.image.metadata.loader.JpegDrewMetadataLoader$InputStreamAdapter'></ClassStats><ClassStats bugs='0' size='13' interface='true' sourceFile='MetadataLoader.java' class='it.tidalwave.image.metadata.loader.MetadataLoader'></ClassStats><ClassStats bugs='5' size='9' priority_2='2' priority_3='3' interface='false' sourceFile='RAWMetadataLoader.java' class='it.tidalwave.image.metadata.loader.RAWMetadataLoader'></ClassStats><ClassStats bugs='2' size='11' priority_3='2' interface='false' sourceFile='TIFFMetadataLoader.java' class='it.tidalwave.image.metadata.loader.TIFFMetadataLoader'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.op' priority_1='1' total_bugs='25' priority_2='21' priority_3='3' total_size='806' total_types='36'><ClassStats bugs='0' size='3' interface='false' sourceFile='AbstractCreateOp.java' class='it.tidalwave.image.op.AbstractCreateOp'></ClassStats><ClassStats bugs='0' size='4' interface='false' sourceFile='AccessorOp.java' class='it.tidalwave.image.op.AccessorOp'></ClassStats><ClassStats bugs='2' size='10' priority_2='2' interface='false' sourceFile='CaptureOp.java' class='it.tidalwave.image.op.CaptureOp'></ClassStats><ClassStats bugs='2' size='11' priority_2='2' interface='false' sourceFile='ConvertToBufferedImageOp.java' class='it.tidalwave.image.op.ConvertToBufferedImageOp'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='ConvolveOp.java' class='it.tidalwave.image.op.ConvolveOp'></ClassStats><ClassStats bugs='0' size='12' interface='false' sourceFile='CreateFunctionOp.java' class='it.tidalwave.image.op.CreateFunctionOp'></ClassStats><ClassStats bugs='1' size='54' priority_2='1' interface='false' sourceFile='CreateOp.java' class='it.tidalwave.image.op.CreateOp'></ClassStats><ClassStats bugs='0' size='4' interface='false' sourceFile='CreateOp.java' class='it.tidalwave.image.op.CreateOp$1'></ClassStats><ClassStats bugs='0' size='22' interface='false' sourceFile='CropOp.java' class='it.tidalwave.image.op.CropOp'></ClassStats><ClassStats bugs='0' size='12' interface='false' sourceFile='DrawOp.java' class='it.tidalwave.image.op.DrawOp'></ClassStats><ClassStats bugs='0' size='2' interface='true' sourceFile='DrawOp.java' class='it.tidalwave.image.op.DrawOp$Executor'></ClassStats><ClassStats bugs='0' size='6' interface='false' sourceFile='ForceRenderingOp.java' class='it.tidalwave.image.op.ForceRenderingOp'></ClassStats><ClassStats bugs='1' size='34' priority_1='1' interface='false' sourceFile='ImplementationFactory.java' class='it.tidalwave.image.op.ImplementationFactory'></ClassStats><ClassStats bugs='1' size='44' priority_3='1' interface='false' sourceFile='ImplementationFactoryRegistry.java' class='it.tidalwave.image.op.ImplementationFactoryRegistry'></ClassStats><ClassStats bugs='0' size='3' interface='false' sourceFile='Operation.java' class='it.tidalwave.image.op.Operation'></ClassStats><ClassStats bugs='0' size='23' interface='false' sourceFile='OperationImplementation.java' class='it.tidalwave.image.op.OperationImplementation'></ClassStats><ClassStats bugs='0' size='20' interface='false' sourceFile='OptimizeOp.java' class='it.tidalwave.image.op.OptimizeOp'></ClassStats><ClassStats bugs='4' size='56' priority_2='4' interface='false' sourceFile='PaintOp.java' class='it.tidalwave.image.op.PaintOp'></ClassStats><ClassStats bugs='2' size='36' priority_2='2' interface='false' sourceFile='PrintOp.java' class='it.tidalwave.image.op.PrintOp'></ClassStats><ClassStats bugs='6' size='172' priority_2='4' priority_3='2' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp'></ClassStats><ClassStats bugs='0' size='1' interface='true' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Options'></ClassStats><ClassStats bugs='0' size='13' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$PluginBlackList'></ClassStats><ClassStats bugs='0' size='47' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Reader'></ClassStats><ClassStats bugs='0' size='20' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type'></ClassStats><ClassStats bugs='0' size='9' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type$1'></ClassStats><ClassStats bugs='0' size='13' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type$1$1'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type$2'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type$2$1'></ClassStats><ClassStats bugs='0' size='9' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type$3'></ClassStats><ClassStats bugs='0' size='9' interface='false' sourceFile='ReadOp.java' class='it.tidalwave.image.op.ReadOp$Type$3$1'></ClassStats><ClassStats bugs='0' size='21' interface='false' sourceFile='RotateOp.java' class='it.tidalwave.image.op.RotateOp'></ClassStats><ClassStats bugs='0' size='15' interface='false' sourceFile='RotateQuadrantOp.java' class='it.tidalwave.image.op.RotateQuadrantOp'></ClassStats><ClassStats bugs='0' size='27' interface='false' sourceFile='ScaleOp.java' class='it.tidalwave.image.op.ScaleOp'></ClassStats><ClassStats bugs='0' size='10' interface='false' sourceFile='SizeOp.java' class='it.tidalwave.image.op.SizeOp'></ClassStats><ClassStats bugs='2' size='12' priority_2='2' interface='false' sourceFile='WrapOp.java' class='it.tidalwave.image.op.WrapOp'></ClassStats><ClassStats bugs='4' size='42' priority_2='4' interface='false' sourceFile='WriteOp.java' class='it.tidalwave.image.op.WriteOp'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.op.impl' total_bugs='0' total_size='154' total_types='1'><ClassStats bugs='0' size='154' interface='false' sourceFile='FileChannelImageInputStream.java' class='it.tidalwave.image.op.impl.FileChannelImageInputStream'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.render' total_bugs='0' total_size='27' total_types='1'><ClassStats bugs='0' size='27' interface='false' sourceFile='PreviewSettings.java' class='it.tidalwave.image.render.PreviewSettings'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.tools' priority_1='1' total_bugs='5' priority_2='3' priority_3='1' total_size='148' total_types='3'><ClassStats bugs='4' size='78' priority_1='1' priority_2='2' priority_3='1' interface='false' sourceFile='TestReportFormatter.java' class='it.tidalwave.image.tools.TestInfo'></ClassStats><ClassStats bugs='0' size='45' interface='false' sourceFile='TestReportFormatter.java' class='it.tidalwave.image.tools.TestReportFormatter'></ClassStats><ClassStats bugs='1' size='25' priority_2='1' interface='false' sourceFile='TestReportFormatter.java' class='it.tidalwave.image.tools.TestResults'></ClassStats></PackageStats><PackageStats package='it.tidalwave.image.util' total_bugs='1' priority_3='1' total_size='13' total_types='1'><ClassStats bugs='1' size='13' priority_3='1' interface='false' sourceFile='Platform.java' class='it.tidalwave.image.util.Platform'></ClassStats></PackageStats><FindBugsProfile><ClassProfile avgMicrosecondsPerInvocation='230' totalMilliseconds='2146' name='edu.umd.cs.findbugs.classfile.engine.bcel.ValueNumberDataflowFactory' maxMicrosecondsPerInvocation='228309' standardDeviationMicrosecondsPerInvocation='4583' invocations='9295'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='1251' totalMilliseconds='2092' name='edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine' maxMicrosecondsPerInvocation='54849' standardDeviationMicrosecondsPerInvocation='3934' invocations='1672'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='626' totalMilliseconds='2081' name='edu.umd.cs.findbugs.classfile.engine.bcel.IsNullValueDataflowFactory' maxMicrosecondsPerInvocation='848028' standardDeviationMicrosecondsPerInvocation='16839' invocations='3323'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='810' totalMilliseconds='1976' name='edu.umd.cs.findbugs.classfile.engine.bcel.UnconditionalValueDerefDataflowFactory' maxMicrosecondsPerInvocation='1317940' standardDeviationMicrosecondsPerInvocation='26744' invocations='2440'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='911' totalMilliseconds='1717' name='edu.umd.cs.findbugs.ba.npe.NullDerefAndRedundantComparisonFinder' maxMicrosecondsPerInvocation='889270' standardDeviationMicrosecondsPerInvocation='20719' invocations='1884'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='170' totalMilliseconds='1141' name='edu.umd.cs.findbugs.classfile.engine.bcel.TypeDataflowFactory' maxMicrosecondsPerInvocation='87216' standardDeviationMicrosecondsPerInvocation='1668' invocations='6714'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='2388' totalMilliseconds='886' name='edu.umd.cs.findbugs.detect.FieldItemSummary' maxMicrosecondsPerInvocation='81509' standardDeviationMicrosecondsPerInvocation='7362' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='1921' totalMilliseconds='712' name='edu.umd.cs.findbugs.detect.FindNoSideEffectMethods' maxMicrosecondsPerInvocation='55638' standardDeviationMicrosecondsPerInvocation='5176' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='374' totalMilliseconds='629' name='edu.umd.cs.findbugs.classfile.engine.ClassDataAnalysisEngine' maxMicrosecondsPerInvocation='87553' standardDeviationMicrosecondsPerInvocation='2663' invocations='1680'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='235' totalMilliseconds='609' name='edu.umd.cs.findbugs.OpcodeStack$JumpInfoFactory' maxMicrosecondsPerInvocation='38593' standardDeviationMicrosecondsPerInvocation='1513' invocations='2582'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='274' totalMilliseconds='522' name='edu.umd.cs.findbugs.classfile.engine.bcel.CFGFactory' maxMicrosecondsPerInvocation='40616' standardDeviationMicrosecondsPerInvocation='1514' invocations='1904'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='230' totalMilliseconds='392' name='edu.umd.cs.findbugs.detect.FindRefComparison$SpecialTypeAnalysis' maxMicrosecondsPerInvocation='34966' standardDeviationMicrosecondsPerInvocation='1577' invocations='1703'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='2836' totalMilliseconds='374' name='edu.umd.cs.findbugs.detect.CheckTypeQualifiers' maxMicrosecondsPerInvocation='70277' standardDeviationMicrosecondsPerInvocation='9507' invocations='132'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='788' totalMilliseconds='292' name='edu.umd.cs.findbugs.detect.CalledMethods' maxMicrosecondsPerInvocation='66328' standardDeviationMicrosecondsPerInvocation='4233' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='769' totalMilliseconds='285' name='edu.umd.cs.findbugs.detect.NoteDirectlyRelevantTypeQualifiers' maxMicrosecondsPerInvocation='40754' standardDeviationMicrosecondsPerInvocation='2844' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='745' totalMilliseconds='276' name='edu.umd.cs.findbugs.detect.OverridingEqualsNotSymmetrical' maxMicrosecondsPerInvocation='48627' standardDeviationMicrosecondsPerInvocation='3739' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='549' totalMilliseconds='266' name='edu.umd.cs.findbugs.classfile.engine.bcel.JavaClassAnalysisEngine' maxMicrosecondsPerInvocation='43196' standardDeviationMicrosecondsPerInvocation='2736' invocations='485'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='126' totalMilliseconds='245' name='edu.umd.cs.findbugs.classfile.engine.bcel.MethodGenFactory' maxMicrosecondsPerInvocation='77915' standardDeviationMicrosecondsPerInvocation='1895' invocations='1941'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='632' totalMilliseconds='234' name='edu.umd.cs.findbugs.detect.ReflectiveClasses' maxMicrosecondsPerInvocation='21668' standardDeviationMicrosecondsPerInvocation='2490' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='626' totalMilliseconds='232' name='edu.umd.cs.findbugs.detect.FunctionsThatMightBeMistakenForProcedures' maxMicrosecondsPerInvocation='27835' standardDeviationMicrosecondsPerInvocation='2344' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='123' totalMilliseconds='195' name='edu.umd.cs.findbugs.util.TopologicalSort' maxMicrosecondsPerInvocation='16184' standardDeviationMicrosecondsPerInvocation='845' invocations='1588'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='102' totalMilliseconds='193' name='edu.umd.cs.findbugs.detect.FindNullDeref$CheckCallSitesAndReturnInstructions' maxMicrosecondsPerInvocation='39163' standardDeviationMicrosecondsPerInvocation='1244' invocations='1884'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='497' totalMilliseconds='184' name='edu.umd.cs.findbugs.detect.BuildObligationPolicyDatabase' maxMicrosecondsPerInvocation='27751' standardDeviationMicrosecondsPerInvocation='2155' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='440' totalMilliseconds='163' name='edu.umd.cs.findbugs.detect.BuildStringPassthruGraph' maxMicrosecondsPerInvocation='34019' standardDeviationMicrosecondsPerInvocation='2519' invocations='371'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='85' totalMilliseconds='163' name='edu.umd.cs.findbugs.classfile.engine.bcel.ConstantDataflowFactory' maxMicrosecondsPerInvocation='19722' standardDeviationMicrosecondsPerInvocation='806' invocations='1904'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='81' totalMilliseconds='158' name='edu.umd.cs.findbugs.classfile.engine.bcel.ValueRangeAnalysisFactory' maxMicrosecondsPerInvocation='26484' standardDeviationMicrosecondsPerInvocation='929' invocations='1941'></ClassProfile><ClassProfile avgMicrosecondsPerInvocation='1132' totalMilliseconds='149' name='edu.umd.cs.findbugs.detect.DumbMethods' maxMicrosecondsPerInvocation='32183' standardDeviationMicrosecondsPerInvocation='3942' invocations='132'></ClassProfile></FindBugsProfile></FindBugsSummary><ClassFeatures></ClassFeatures><History></History></BugCollection>