]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Merge from trunk
authorSimon Pepping <spepping@apache.org>
Fri, 19 Nov 2010 18:52:09 +0000 (18:52 +0000)
committerSimon Pepping <spepping@apache.org>
Fri, 19 Nov 2010 18:52:09 +0000 (18:52 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_ComplexScripts@1036979 13f79535-47bb-0310-9956-ffa450edef68

26 files changed:
1  2 
build.xml
findbugs-exclude.xml
src/java/org/apache/fop/area/Area.java
src/java/org/apache/fop/area/AreaTreeParser.java
src/java/org/apache/fop/area/Block.java
src/java/org/apache/fop/area/CTM.java
src/java/org/apache/fop/area/LineArea.java
src/java/org/apache/fop/area/RegionViewport.java
src/java/org/apache/fop/area/Trait.java
src/java/org/apache/fop/area/inline/FilledArea.java
src/java/org/apache/fop/area/inline/InlineArea.java
src/java/org/apache/fop/area/inline/InlineParent.java
src/java/org/apache/fop/area/inline/SpaceArea.java
src/java/org/apache/fop/area/inline/TextArea.java
src/java/org/apache/fop/area/inline/Viewport.java
src/java/org/apache/fop/area/inline/WordArea.java
src/java/org/apache/fop/fonts/FontInfoConfigurator.java
src/java/org/apache/fop/fonts/FontLoader.java
src/java/org/apache/fop/fonts/GlyphSubstitutionTable.java
src/java/org/apache/fop/layoutmgr/inline/AlignmentContext.java
src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java
src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java
src/java/org/apache/fop/render/AbstractRenderer.java
src/java/org/apache/fop/render/afp/AFPPainter.java
src/java/org/apache/fop/render/intermediate/IFParser.java
src/java/org/apache/fop/render/intermediate/IFRenderer.java

diff --cc build.xml
Simple merge
index 14e262a7cb6f01f45463873474a497539203d68f,116d45951f20409e08da3c9528c6f814be7f3c48..2c2c83db4dcb45fac779e1821180d6e97f5d280e
- <?xml version="1.0" encoding="UTF-8"?>
+ <?xml version="1.0" encoding="utf-8"?>
  <FindBugsFilter>
 -</FindBugsFilter>
++<!-- .working -->
 +  <!-- use of null is preferred over zero length array -->
 +  <Match>
 +    <Class name="org.apache.fop.area.inline.WordArea"/>
 +    <Or>
 +      <Method name="getBidiLevels"/>
 +      <Method name="glyphPositionAdjustmentsAt"/>
 +    </Or>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fo.FOText"/>
 +    <Method name="getBidiLevels"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.ArabicScriptProcessor"/>
 +    <Method name="position"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.DefaultScriptProcessor"/>
 +    <Method name="position"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningSubtable"/>
 +    <Method name="position"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable"/>
 +    <Method name="position"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.LazyFont"/>
 +    <Method name="performPositioning"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.MultiByteFont"/>
 +    <Method name="performPositioning"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.layoutmgr.BidiUtil$UnicodeBidiAlgorithm"/>
 +    <Method name="resolveLevels"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <!-- string not exposed to end user -->
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphDefinitionTable"/>
 +    <Method name="getLookupTypeFromName"/>
 +    <Bug pattern="DM_CONVERT_CASE"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable"/>
 +    <Method name="getLookupTypeFromName"/>
 +    <Bug pattern="DM_CONVERT_CASE"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable"/>
 +    <Method name="getLookupTypeFromName"/>
 +    <Bug pattern="DM_CONVERT_CASE"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable"/>
 +    <Method name="getTableTypeFromName"/>
 +    <Bug pattern="DM_CONVERT_CASE"/>
 +  </Match>
 +  <!-- performance optimizations -->
 +  <Match>
 +    <Class name="org.apache.fop.fonts.ArabicScriptProcessor"/>
 +    <Or>
 +      <Method name="getPositioningFeatures"/>
 +      <Method name="getSubstitutionFeatures"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.DefaultScriptProcessor"/>
 +    <Or>
 +      <Method name="getPositioningFeatures"/>
 +      <Method name="getSubstitutionFeatures"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningState"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$ChainedContextualSubtableFormat1"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$ChainedContextualSubtableFormat2"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$ChainedContextualSubtableFormat3"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$ContextualSubtableFormat1"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$ContextualSubtableFormat2"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$ContextualSubtableFormat3"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$CursiveSubtableFormat1"/>
 +    <Method name="getExitEntryAnchors"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$DeviceTable"/>
 +    <Method name="getDeltas"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphPositioningTable$DeviceTable"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSequence"/>
 +    <Method name="getAssociations"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSequence$CharAssociation"/>
 +    <Method name="getSubIntervals"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionState"/>
 +    <Method name="setAlternates"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$AlternateSubtableFormat1"/>
 +    <Method name="getAlternatesForCoverageIndex"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$ChainedContextualSubtableFormat1"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$ChainedContextualSubtableFormat2"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$ChainedContextualSubtableFormat3"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$ContextualSubtableFormat1"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$ContextualSubtableFormat2"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$ContextualSubtableFormat3"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$MultipleSubtableFormat1"/>
 +    <Method name="getGlyphsForCoverageIndex"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$Ligature"/>
 +    <Or>
 +        <Method name="getComponents"/>
 +        <Method name="getLigatures"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$Ligature"/>
 +    <Method name="&lt;init&gt;" params="int, int[]" returns="void"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$LigatureSet"/>
 +    <Method name="getLigatures"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphSubstitutionTable$LigatureSet"/>
 +    <Method name="&lt;init&gt;" params="org.apache.fop.fonts.GlyphSubstitutionTable$Ligature[]" returns="void"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ChainedClassSequenceRule"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ChainedClassSequenceRule"/>
 +    <Or>
 +      <Method name="getBacktrackClasses"/>
 +      <Method name="getLookaheadClasses"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ChainedCoverageSequenceRule"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ChainedCoverageSequenceRule"/>
 +    <Or>
 +      <Method name="getBacktrackCoverages"/>
 +      <Method name="getLookaheadCoverages"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ChainedGlyphSequenceRule"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ChainedGlyphSequenceRule"/>
 +    <Or>
 +      <Method name="getBacktrackGlyphs"/>
 +      <Method name="getLookaheadGlyphs"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ClassSequenceRule"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$ClassSequenceRule"/>
 +    <Method name="getClasses"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$CoverageSequenceRule"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$CoverageSequenceRule"/>
 +    <Method name="getCoverages"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$GlyphSequenceRule"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$GlyphSequenceRule"/>
 +    <Method name="getGlyphs"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$LookupTable"/>
 +    <Method name="getSubtables"/>
 +    <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$Rule"/>
 +    <Method name="getLookups"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$RuleSet"/>
 +    <Method name="&lt;init&gt;"/>
 +    <Bug pattern="EI_EXPOSE_REP2"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fonts.GlyphTable$RuleSet"/>
 +    <Method name="getRules"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.area.inline.WordArea"/>
 +    <Or>
 +      <Method name="getBidiLevels"/>
 +      <Method name="getGlyphPositionAdjustments"/>
 +    </Or>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
 +  <Match>
 +    <Class name="org.apache.fop.fo.FOText"/>
 +    <Method name="getBidiLevels"/>
 +    <Bug pattern="EI_EXPOSE_REP"/>
 +  </Match>
++<!-- ======= -->
+    <!-- The names of public methods will not be modified -->
+    <Match>
+       <Class name="org.apache.fop.afp.AFPDataObjectInfo"/>
+       <Method name="getUri"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPRendererImageInfo"/>
+       <Method name="getURI"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <Method name="getImageUri"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageFormResource"/>
+       <Method name="getImageURI"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FOURIResolver"/>
+       <Method name="setThrowExceptions"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.Fop"/>
+       <Method name="setThrowexceptions"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FopFactory"/>
+       <Method name="setUserConfig"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.Fop"/>
+       <Method name="setUserconfig"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.PageSequenceResults"/>
+       <Method name="getID"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FObj"/>
+       <Method name="getId"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.ForeignObject"/>
+       <Method name="getNameSpace"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.AbstractGenericSVGHandler"/>
+       <Method name="getNamespace"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="getFOFile"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.Fop"/>
+       <Method name="getFofile"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="getXMLFile"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.Fop"/>
+       <Method name="getXmlFile"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOText"/>
+       <Method name="getBaseLineShift"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.AbstractGraphics"/>
+       <Method name="getBaselineShift"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FObj"/>
+       <Method name="hasId"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.extensions.AbstractAction"/>
+       <Method name="hasID"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.EmbedFontInfo"/>
+       <Method name="getPostScriptName"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="getPostscriptName"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageLoaderFactorySVG"/>
+       <Method name="getSupportedMIMETypes"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="setBaseDir"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.RunTest"/>
+       <Method name="setBasedir"/>
+       <Bug pattern="NM_CONFUSING"/>
+    </Match>
+    <!-- /The names of public methods will not be modified -->
+    <!-- Automatically generated list of exclusions -->
+    <Match>
+       <Class name="org.apache.fop.area.BodyRegion"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Page"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.PageViewport"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.RegionReference"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.BodyRegion"/>
+       <!--Neither method nor field-->
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.RegionViewport"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.CharVector"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.TernaryTree"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <!--Neither method nor field-->
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFGraphicContext"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAttributes"/>
+       <Method name="clone"/>
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.FOPRtfAttributes"/>
+       <!--Neither method nor field-->
+       <Bug pattern="CN_IDIOM_NO_SUPER_CALL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.Hyphenator"/>
+       <Method name="getResourceStream"/>
+       <Bug pattern="DE_MIGHT_IGNORE"/>
+    </Match>
+    <Match>
+       <Class name="java.lang.Exception"/>
+       <!--Neither method nor field-->
+       <Bug pattern="DE_MIGHT_IGNORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="flushCache"/>
+       <Bug pattern="DM_EXIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="parseCustomOutputOption"/>
+       <Bug pattern="DM_EXIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="parseOptions"/>
+       <Bug pattern="DM_EXIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.Main"/>
+       <Method name="startFOP"/>
+       <Bug pattern="DM_EXIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.Main"/>
+       <Method name="startFOPWithDynamicClasspath"/>
+       <Bug pattern="DM_EXIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.fontlist.FontListMain"/>
+       <Method name="parseArguments"/>
+       <Bug pattern="DM_EXIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.Main"/>
+       <Method name="startFOPWithDynamicClasspath"/>
+       <Bug pattern="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED"/>
+    </Match>
+    <Match>
+       <Class name="java.net.URLClassLoader"/>
+       <!--Neither method nor field-->
+       <Bug pattern="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.RunTest"/>
+       <Method name="runReference"/>
+       <Bug pattern="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED"/>
+    </Match>
+    <Match>
+       <Class name="java.net.URLClassLoader"/>
+       <!--Neither method nor field-->
+       <Bug pattern="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.fontlist.FontSpec"/>
+       <Method name="compareTo"/>
+       <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontInfo"/>
+       <Method name="fuzzyFontLookup"/>
+       <Bug pattern="ES_COMPARING_PARAMETER_STRING_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
+       <Method name="addBookmark"/>
+       <Bug pattern="ES_COMPARING_PARAMETER_STRING_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.fontlist.FontListSerializer"/>
+       <Method name="generateSAX"/>
+       <Bug pattern="ES_COMPARING_PARAMETER_STRING_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceInfo"/>
+       <Method name="equals"/>
+       <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevel"/>
+       <Method name="equals"/>
+       <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Marker$MarkerAttribute"/>
+       <Method name="equals"/>
+       <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.NativeTextHandler"/>
+       <Method name="establishCurrentFont"/>
+       <Bug pattern="ES_COMPARING_STRINGS_WITH_EQ"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.MimeConstants"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.xmlgraphics.util.MimeConstants"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.events.EventListener"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    </Match>
+    <Match>
+       <Class name="java.util.EventListener"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.Graphics2DImagePainter"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.xmlgraphics.java2d.Graphics2DImagePainter"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSFontUtils"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.xmlgraphics.ps.PSFontUtils"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageUtils"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.xmlgraphics.ps.PSImageUtils"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.GraphicsConfiguration"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="java.awt.GraphicsConfiguration"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFTextUtil"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFTextUtil"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.QName"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.xmlgraphics.util.QName"/>
+       <!--Neither method nor field-->
+       <Bug pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.apps.FontPatternExtractor"/>
+       <Method name="extract"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.autodetect.WindowsFontDirFinder"/>
+       <Method name="getWinDir"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="buildCIDSet"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFOutputIntent"/>
+       <Method name="toPDF"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="defineGrayscalePattern"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.ImageRenderedAdapter"/>
+       <Method name="populateXObjectDictionary"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FileCompare"/>
+       <Method name="compareBytes"/>
+       <Bug pattern="OS_OPEN_STREAM"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTest"/>
+       <Bug pattern="OS_OPEN_STREAM_EXCEPTION_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="parse"/>
+       <Bug pattern="RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPStreamer"/>
+       <Method name="writeToStream"/>
+       <Bug pattern="RR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="load"/>
+       <Bug pattern="RR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPStreamer"/>
+       <Method name="close"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.apps.FontPatternExtractor"/>
+       <Method name="main"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.Main"/>
+       <Method name="startFOP"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Method name="getDefaultCacheFile"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Method name="loadFrom"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.TempFileStreamCache"/>
+       <Method name="clear"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTest"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTests"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FOPTaskStarter"/>
+       <Method name="renderInputHandler"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FOPTaskStarter"/>
+       <Method name="run"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.RunTest"/>
+       <Method name="runReference"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <Field name="colorConverter"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Area"/>
+       <Field name="props"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.BlockParent"/>
+       <Field name="children"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.LineArea"/>
+       <Field name="inlineAreas"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.MainReference"/>
+       <Field name="spanAreas"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Page"/>
+       <Field name="unresolved"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Span"/>
+       <Field name="flowAreas"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Trait$Background"/>
+       <Field name="imageInfo"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.Container"/>
+       <Field name="blocks"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.InlineParent"/>
+       <Field name="inlines"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.events.Event"/>
+       <Field name="params"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.events.model.EventMethodModel"/>
+       <Field name="params"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.events.model.EventModel"/>
+       <Field name="producers"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.events.model.EventProducerModel"/>
+       <Field name="methods"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.xmp.XMPMetadata"/>
+       <Field name="meta"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageProductionException"/>
+       <Field name="locator"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.EmbedFontInfo"/>
+       <Field name="fontTriplets"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Field name="failedFontMap"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Field name="fontfileMap"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache$CachedFontFile"/>
+       <Field name="filefontsMap"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutException"/>
+       <Field name="layoutManager"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager$Paragraph"/>
+       <Field name="layoutManager"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFPaintingState$PDFData"/>
+       <Field name="gstate"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.ImageProxyPanel"/>
+       <Field name="renderer"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialog"/>
+       <Field name="foUserAgent"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialog"/>
+       <Field name="renderer"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialog"/>
+       <Field name="translator"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel"/>
+       <Field name="foUserAgent"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel"/>
+       <Field name="reloader"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel"/>
+       <Field name="renderer"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel"/>
+       <Field name="scroller"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.servlet.FopServlet"/>
+       <Field name="fopFactory"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.servlet.FopServlet"/>
+       <Field name="transFactory"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.servlet.FopServlet"/>
+       <Field name="uriResolver"/>
+       <Bug pattern="SE_BAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.AbstractBreaker$BlockSequence"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_BAD_FIELD_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager$Paragraph"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_BAD_FIELD_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <Field name="colorConverter"/>
+       <Bug pattern="SE_BAD_FIELD_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <Field name="colorConverter"/>
+       <Bug pattern="SE_BAD_FIELD_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageProductionException"/>
+       <Field name="locator"/>
+       <Bug pattern="SE_BAD_FIELD_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.servlet.FopServlet"/>
+       <Field name="uriResolver"/>
+       <Bug pattern="SE_BAD_FIELD_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.DestinationComparator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState$AFPData"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.LineArea$LineAdjustingInfo"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.AbstractTextArea$TextAdjustingInfo"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.InlineArea$InlineAdjustingInfo"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFPaintingState$PDFData"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.AbstractPaintingState$StateStack"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SE_INNER_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <Field name="pagePaintingState"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <Field name="unitConv"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Block"/>
+       <Field name="allowBPDUpdate"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.InlineParent"/>
+       <Field name="autoSize"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.UnresolvedPageNumber"/>
+       <Field name="font"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Field name="changed"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontTriplet"/>
+       <Field name="key"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <Field name="ivalues"/>
+       <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.apps.FontPatternExtractor"/>
+       <Method name="extract"/>
+       <Bug pattern="SR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="readStructuredField"/>
+       <Bug pattern="SR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="loadExtMetrics"/>
+       <Bug pattern="SR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="loadExtension"/>
+       <Bug pattern="SR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="loadHeader"/>
+       <Bug pattern="SR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.ImageRawJPEGAdapter"/>
+       <Method name="outputContents"/>
+       <Bug pattern="SR_NOT_CHECKED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.ImageInputHandler"/>
+       <Method name="createXSLTSource"/>
+       <Bug pattern="UI_INHERITANCE_UNSAFE_GETRESOURCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.PatternParser"/>
+       <Method name="getExternalClasses"/>
+       <Bug pattern="UI_INHERITANCE_UNSAFE_GETRESOURCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="makeFontFile"/>
+       <Bug pattern="UI_INHERITANCE_UNSAFE_GETRESOURCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialogAboutBox"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="UI_INHERITANCE_UNSAFE_GETRESOURCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="readUShort"/>
+       <Bug pattern="BIT_IOR_OF_SIGNED_BYTE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFDirTabEntry"/>
+       <Method name="toString"/>
+       <Bug pattern="DMI_INVOKING_TOSTRING_ON_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.AbstractPaintingState$AbstractData"/>
+       <Method name="toString"/>
+       <Bug pattern="DMI_INVOKING_TOSTRING_ON_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.BookmarkData"/>
+       <Method name="addSubData"/>
+       <Bug pattern="EC_UNRELATED_TYPES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.AlignmentContext"/>
+       <Method name="setBaselineShift"/>
+       <Bug pattern="ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.WordArea"/>
+       <!-- Listing the field does not work; this makes the filter apply to all masked fields -->
+       <Bug pattern="MF_CLASS_MASKS_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.AbstractPageNumberCitationLayoutManager"/>
+       <!-- Listing the field does not work; this makes the filter apply to all masked fields -->
+       <Bug pattern="MF_CLASS_MASKS_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAfterBeforeBase"/>
+       <!-- Listing the field does not work; this makes the filter apply to all masked fields -->
+       <Bug pattern="MF_CLASS_MASKS_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPTranscoder"/>
+       <!-- Listing the field does not work; this makes the filter apply to all masked fields -->
+       <Bug pattern="MF_CLASS_MASKS_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSVGHandler"/>
+       <Method name="renderSVGDocument"/>
+       <Bug pattern="NP_GUARANTEED_DEREF"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockStackingLayoutManager"/>
+       <Method name="negotiateBPDAdjustment"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/>
+       <Method name="handleFootnotes"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.PNGRenderer"/>
+       <Method name="writeImage"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.TIFFRenderer"/>
+       <Method name="stopRenderer"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableRow"/>
+       <Method name="writeRowAndCellsDefintions"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPImageElementBridge"/>
+       <Method name="createImageGraphicsNode"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="main"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FopFactory"/>
+       <Method name="setHyphenBaseURL"/>
+       <Bug pattern="NP_NULL_PARAM_DEREF"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.events.EventFormatter"/>
+       <Method name="format"/>
+       <Bug pattern="NP_NULL_PARAM_DEREF"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageProductionException$PageProductionExceptionFactory"/>
+       <Method name="createException"/>
+       <Bug pattern="NP_NULL_PARAM_DEREF"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CommonTextDecoration"/>
+       <Method name="calcTextDecoration"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontInfoConfigurator"/>
+       <Method name="getFontInfo"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.SpaceResolver"/>
+       <Method name="toString"/>
+       <Bug pattern="RV_EXCEPTION_NOT_THROWN"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="makeFontFile"/>
+       <Bug pattern="RV_EXCEPTION_NOT_THROWN"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DRenderer"/>
+       <Method name="stopRenderer"/>
+       <Bug pattern="RV_EXCEPTION_NOT_THROWN"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSFontUtils"/>
+       <Method name="getInputStreamOnFont"/>
+       <Bug pattern="RV_EXCEPTION_NOT_THROWN"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTreeCache"/>
+       <Method name="constructUserKey"/>
+       <Bug pattern="RV_RETURN_VALUE_IGNORED"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevel"/>
+       <Method name="equals"/>
+       <Bug pattern="SA_FIELD_SELF_COMPARISON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.print.PageableRenderer"/>
+       <Method name="processOptions"/>
+       <Bug pattern="SA_FIELD_SELF_COMPARISON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.svg.SVGElement$1"/>
+       <Method name="deselectAll"/>
+       <Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.batik.dom.svg.SVGContext"/>
+       <!--Neither method nor field-->
+       <Bug pattern="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.ObjectAreaPosition"/>
+       <Field name="xOffset"/>
+       <Bug pattern="UWF_UNWRITTEN_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.ObjectAreaPosition"/>
+       <Field name="yOffset"/>
+       <Bug pattern="UWF_UNWRITTEN_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFDirTabEntry"/>
+       <Field name="checksum"/>
+       <Bug pattern="UWF_UNWRITTEN_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.list.ListItemContentLayoutManager"/>
+       <Field name="itemIPD"/>
+       <Bug pattern="UWF_UNWRITTEN_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevel"/>
+       <Method name="valueOf"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
+       <Method name="getResourceType"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
+       <Method name="registerResourceTypeName"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.apps.FontPatternExtractor"/>
+       <Method name="extract"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="getCategoryCodeAsString"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="getTypeCodeAsString"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="toString"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FopFactoryConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FopFactoryConfigurator"/>
+       <Method name="configureImageLoading"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageNumberGenerator"/>
+       <Method name="makeFormattedPageNumber"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CondLengthProperty"/>
+       <Method name="toString"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontInfo"/>
+       <Method name="getTripletsForName"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontLoader"/>
+       <Method name="isType1"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
+       <Method name="generateTripletsFromFont"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.substitute.FontQualifier"/>
+       <Method name="match"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="getExternalAction"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.MultiFileRenderingUtil"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.InstalledFontCollection"/>
+       <Method name="setup"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.FoUnitsConverter"/>
+       <Method name="numberToTwips"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
+       <Method name="addNamedColor"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
+       <Method name="getColorNumber"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFontManager"/>
+       <Method name="getFontKey"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FOPTaskStarter"/>
+       <Method name="replaceExtension"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorUtil"/>
+       <Method name="parseColorString"/>
+       <Bug pattern="DM_CONVERT_CASE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPDataObjectInfo"/>
+       <Method name="getData"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.Registry$ObjectType"/>
+       <Method name="getOID"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="getData"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="getExtData"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.parser.UnparsedStructuredField"/>
+       <Method name="getIntroducerData"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FOUserAgent"/>
+       <Method name="getCreationDate"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.DestinationData"/>
+       <Method name="getIDRefs"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.WordArea"/>
+       <Method name="getLetterAdjustArray"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.xmp.XMPContentHandlerFactory"/>
+       <Method name="getSupportedNamespaces"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CommonBorderPaddingBackground"/>
+       <Method name="getBorderInfo"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CommonBorderPaddingBackground"/>
+       <Method name="getPadding"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CustomFont"/>
+       <Method name="getFontBBox"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.ByteVector"/>
+       <Method name="getArray"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.CharVector"/>
+       <Method name="getArray"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.Hyphenation"/>
+       <Method name="getHyphenationPoints"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageLoaderFactorySVG"/>
+       <Method name="getSupportedFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageLoaderFactorySVG"/>
+       <Method name="getSupportedMIMETypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageLoaderFactoryWMF"/>
+       <Method name="getSupportedFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageLoaderFactoryWMF"/>
+       <Method name="getSupportedMIMETypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFEncryptionJCE"/>
+       <Method name="getFileID"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFInfo"/>
+       <Method name="getCreationDate"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFInfo"/>
+       <Method name="getModDate"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerGraphics2D"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRawCCITTFax"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRawStream"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRenderedImage"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerSVG"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.extensions.AFPExtensionHandlerFactory"/>
+       <Method name="getSupportedNamespaces"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.AWTRendererMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.PNGDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.PNGRendererMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.TIFFDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.TIFFRendererMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFGraphicContext$Group"/>
+       <Method name="getTransforms"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DFontMetrics"/>
+       <Method name="getWidths"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerGraphics2D"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRawCCITTFax"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRawJPEG"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRenderedImage"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.print.PrintRendererMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerEPS"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerGraphics2D"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawCCITTFax"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawJPEG"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRenderedImage"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerSVG"/>
+       <Method name="getSupportedImageFlavors"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.extensions.PSExtensionHandlerFactory"/>
+       <Method name="getSupportedNamespaces"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFFOEventHandlerMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRendererMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.xml.XMLRendererMaker"/>
+       <Method name="getSupportedMimeTypes"/>
+       <Bug pattern="EI_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPDataObjectInfo"/>
+       <Method name="setData"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.goca.AbstractGraphicsCoord"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.goca.GraphicsChainedSegment"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.goca.GraphicsImage"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.ioca.ImageContent"/>
+       <Method name="setImageData"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.ioca.ImageRasterData"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.ObjectContainer"/>
+       <Method name="setData"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.Registry$ObjectType"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.triplets.PresentationSpaceMixingRulesTriplet"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.apps.FOUserAgent"/>
+       <Method name="setCreationDate"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.WordArea"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.DimensionPropertyMaker"/>
+       <Method name="setExtraCorresponding"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.IndentPropertyMaker"/>
+       <Method name="setBorderWidthCorresponding"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.IndentPropertyMaker"/>
+       <Method name="setPaddingCorresponding"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CustomFont"/>
+       <Method name="setFontBBox"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.MultiByteFont"/>
+       <Method name="setBFEntries"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.MultiByteFont"/>
+       <Method name="setWidthArray"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFBData"/>
+       <Method name="setEncryptedSegment"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFBData"/>
+       <Method name="setHeaderSegment"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFBData"/>
+       <Method name="setTrailerSegment"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.ByteVector"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.ByteVector"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.CharVector"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.CharVector"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.HyphContext"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.BitmapImage"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFCIDFont"/>
+       <Method name="setDW2"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFInfo"/>
+       <Method name="setCreationDate"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFInfo"/>
+       <Method name="setModDate"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFToUnicodeCMap"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFGraphicContext$Group"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExternalGraphic"/>
+       <Method name="setImageData"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFTextUtil"/>
+       <Method name="setFonts"/>
+       <Bug pattern="EI_EXPOSE_REP2"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOPropertyMapping"/>
+       <Method name="getGenericMappings"/>
+       <Bug pattern="MS_EXPOSE_REP"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.ptoca.PtocaConstants"/>
+       <Field name="ESCAPE"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSupportedFlavors"/>
+       <Field name="LEVEL_2_FLAVORS_FORM"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSupportedFlavors"/>
+       <Field name="LEVEL_2_FLAVORS_INLINE"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSupportedFlavors"/>
+       <Field name="LEVEL_3_FLAVORS_FORM"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSupportedFlavors"/>
+       <Field name="LEVEL_3_FLAVORS_INLINE"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.IBorderAttributes"/>
+       <Field name="BORDERS"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes"/>
+       <Field name="ATTRIB_CELL_PADDING"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes"/>
+       <Field name="ATTRIB_ROW_PADDING"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes"/>
+       <Field name="CELL_BORDER"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes"/>
+       <Field name="CELL_COLOR"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes"/>
+       <Field name="CELL_VERT_ALIGN"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.ITableAttributes"/>
+       <Field name="ROW_BORDER"/>
+       <Bug pattern="MS_OOI_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Glyphs"/>
+       <Field name="UNICODE_GLYPHS"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Glyphs"/>
+       <Field name="MAC_GLYPH_NAMES"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Glyphs"/>
+       <Field name="TEX8R_GLYPH_NAMES"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Glyphs"/>
+       <Field name="WINANSI_ENCODING"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.AbstractFontReader"/>
+       <Field name="log"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Field name="PCL_RESOLUTIONS"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAfter"/>
+       <Field name="FOOTER_ATTR"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfBefore"/>
+       <Field name="HEADER_ATTR"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListTable"/>
+       <Field name="LIST_TABLE_ATTR"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfPage"/>
+       <Field name="PAGE_ATTR"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText"/>
+       <Field name="ALIGNMENT"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText"/>
+       <Field name="ATTR_NAMES"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText"/>
+       <Field name="BORDER"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText"/>
+       <Field name="INDENT"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfText"/>
+       <Field name="TABS"/>
+       <Bug pattern="MS_PKGPROTECT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.ImageProxyPanel"/>
+       <Field name="imageRef"/>
+       <Bug pattern="IS2_INCONSISTENT_SYNC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$ViewportScroller"/>
+       <Field name="startPosX"/>
+       <Bug pattern="IS2_INCONSISTENT_SYNC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$ViewportScroller"/>
+       <Field name="startPosY"/>
+       <Bug pattern="IS2_INCONSISTENT_SYNC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.fonts.CharacterSetBuilder"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.datatypes.ValidationPercentBaseContext"/>
+       <Method name="getPseudoContext"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOPropertyMapping"/>
+       <Method name="getGenericMappings"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.NullCharIterator"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.AbstractFontReader"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.CollapsingBorderModel"/>
+       <Method name="getBorderModelFor"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.StreamCacheFactory"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.StreamCacheFactory"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.SystemFontMetricsMapper"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFontManager"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfStyleSheetTable"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTemplate"/>
+       <Method name="getInstance"/>
+       <Bug pattern="LI_LAZY_INIT_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.PropertyList"/>
+       <Method name="isInherited"/>
+       <Bug pattern="LI_LAZY_INIT_UPDATE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFObject"/>
+       <Method name="formatDateTime"/>
+       <Bug pattern="STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFObject"/>
+       <Field name="DATE_FORMAT"/>
+       <Bug pattern="STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.MultiByteFont"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.TableContext"/>
+       <Method name="decreaseRowSpannings"/>
+       <Bug pattern="DM_BOOLEAN_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.TableContext"/>
+       <Method name="setCurrentFirstSpanningCol"/>
+       <Bug pattern="DM_BOOLEAN_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.TableContext"/>
+       <Method name="setNextFirstSpanningCol"/>
+       <Bug pattern="DM_BOOLEAN_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="applyPaint"/>
+       <Bug pattern="DM_BOOLEAN_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTest"/>
+       <Bug pattern="DM_BOOLEAN_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CharacterProperty"/>
+       <Method name="getString"/>
+       <Bug pattern="DM_BOXED_PRIMITIVE_TOSTRING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Glyphs"/>
+       <Method name="charToGlyphName"/>
+       <Bug pattern="DM_BOXED_PRIMITIVE_TOSTRING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.expr.NumericProperty"/>
+       <Method name="getNumber"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.NumberProperty"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$AbstractValueHandler"/>
+       <Method name="getNumberValue"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$DoubleSetter"/>
+       <Method name="parse"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$WritingDirDoubleSetter"/>
+       <Method name="parse"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFArray"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFArray"/>
+       <Method name="add"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFArray"/>
+       <Method name="set"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFColor"/>
+       <Method name="getVector"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="makeGradient"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFunction"/>
+       <Method name="toPDF"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFGState"/>
+       <Method name="setAlpha"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFImageXObject"/>
+       <Method name="populateDictionaryFromImage"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFPattern"/>
+       <Method name="output"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DFontMetrics"/>
+       <Method name="getBaseFont"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
+       <Method name="startPage"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.FoUnitsConverter"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="startColumn"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.TableContext"/>
+       <Method name="getColumnWidth"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPTextPainter"/>
+       <Method name="getFont"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="applyAlpha"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="applyPaint"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="createPattern"/>
+       <Bug pattern="DM_FP_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
+       <Method name="getDefaultResourceLevel"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
+       <Method name="registerResourceTypeName"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceLevelDefaults"/>
+       <Method name="setDefaultResourceLevel"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.fonts.RasterFont"/>
+       <Method name="addCharacterSet"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.fonts.RasterFont"/>
+       <Method name="getCharacterSet"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.LineArea"/>
+       <Method name="handleIPDVariation"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.Trait"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.CharIterator"/>
+       <Method name="next"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOPropertyMapping"/>
+       <Method name="addPropertyMaker"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOPropertyMapping"/>
+       <Method name="addSubpropMakerName"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOPropertyMapping"/>
+       <Method name="getPropertyName"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CharacterProperty"/>
+       <Method name="getObject"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CharacterProperty"/>
+       <Method name="getString"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.NumberProperty"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.NumberProperty"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.NumberProperty"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.AbstractCodePointMapping"/>
+       <Method name="mapChar"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.AbstractCodePointMapping"/>
+       <Method name="putFallbackCharacter"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CIDSubset"/>
+       <Method name="getGlyphIndexForSubsetIndex"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CIDSubset"/>
+       <Method name="getUnicodeForSubsetIndex"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CIDSubset"/>
+       <Method name="mapSubsetChar"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CIDSubset"/>
+       <Method name="mapSubsetChar"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.CIDSubset"/>
+       <Method name="setupFirstThreeGlyphs"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Font"/>
+       <Method name="getKernValue"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Method name="registerFailedFont"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontInfo"/>
+       <Method name="addFontProperties"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontInfo"/>
+       <Method name="getFontInstance"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Glyphs"/>
+       <Method name="charToGlyphName"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.SimpleSingleByteEncoding"/>
+       <Method name="addCharacter"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.SimpleSingleByteEncoding"/>
+       <Method name="mapChar"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.SingleByteFont"/>
+       <Method name="addUnencodedCharacter"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.SingleByteFont"/>
+       <Method name="getAdditionalWidths"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.SingleByteFont"/>
+       <Method name="getWidth"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.SingleByteFont"/>
+       <Method name="mapUnencodedChar"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.Typeface"/>
+       <Method name="warnMissingGlyph"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.PFMReader"/>
+       <Method name="constructFontXML"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.Helvetica"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.Helvetica"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.HelveticaBold"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.HelveticaBold"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.HelveticaBoldOblique"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.HelveticaBoldOblique"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.HelveticaOblique"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.HelveticaOblique"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesBold"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesBold"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesBoldItalic"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesBoldItalic"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesItalic"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesItalic"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesRoman"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.TimesRoman"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="glyphToUnicode"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="initAnsiWidths"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="readKerning"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="readUnicodeCmap"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="unicodeToGlyph"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="unicodeToWinAnsi"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile$UnicodeMapping"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="getIncludedGlyphs"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="remapComposite"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="scanGlyphs"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMFile"/>
+       <Method name="createXKerningMapEncoded"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$AbstractValueHandler"/>
+       <Method name="getNumberValue"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$IntegerSetter"/>
+       <Method name="parse"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="loadKernPairs"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/>
+       <Method name="handleFootnotes"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.TraitSetter"/>
+       <Method name="addFontTraits"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.TraitSetter"/>
+       <Method name="addMargins"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.TraitSetter"/>
+       <Method name="addPadding"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.TraitSetter"/>
+       <Method name="addSpaceTrait"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.TraitSetter"/>
+       <Method name="setBorderPaddingTraits"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager"/>
+       <Method name="addInlineArea"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.RowPainter"/>
+       <Method name="recordRowOffset"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.AbstractPDFStream"/>
+       <Method name="encodeAndWriteStream"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.AbstractPDFStream"/>
+       <Method name="output"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFArray"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFCIDFont"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFCIDFont"/>
+       <Method name="setDW"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFCIDFontDescriptor"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFDictionary"/>
+       <Method name="put"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFDocument"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFDocument"/>
+       <Method name="setLocation"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFEmbeddedFile"/>
+       <Method name="populateStreamDict"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFEncoding$DifferencesBuilder"/>
+       <Method name="addDifference"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFEncryptionManager"/>
+       <Method name="newInstance"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFontNonBase14"/>
+       <Method name="setWidthMetrics"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFormXObject"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFImageXObject"/>
+       <Method name="populateDictionaryFromImage"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFLink"/>
+       <Method name="setStructParent"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFNumsArray"/>
+       <Method name="get"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFNumsArray"/>
+       <Method name="put"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFPage"/>
+       <Method name="setTransition"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFT1Stream"/>
+       <Method name="populateStreamDict"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.PrintRenderer"/>
+       <Method name="createRendererContext"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.Command"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFRenderer"/>
+       <Method name="renderPage"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFRenderer"/>
+       <Method name="renderText"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.ImageRenderedAdapter"/>
+       <Method name="getIndexOfFirstTransparentColorInPalette"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.ImageRenderedAdapter"/>
+       <Method name="populateXObjectDictionary"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFDocumentHandler"/>
+       <Method name="getPageReference"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFDocumentHandler"/>
+       <Method name="startPage"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.ImageEncoderCCITTFax"/>
+       <Method name="getImplicitFilter"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
+       <Method name="endDocument"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
+       <Method name="startPage"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
+       <Method name="startPage"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
+       <Method name="writeHeader"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="startCell"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="startColumn"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfAttributes"/>
+       <Method name="set"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
+       <Method name="addColor"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
+       <Method name="addNamedColor"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfColorTable"/>
+       <Method name="getColorNumber"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExternalGraphic"/>
+       <Method name="writeSizeInfo"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFile"/>
+       <Method name="startListTable"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFontManager"/>
+       <Method name="addFont"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfList"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListItem"/>
+       <Method name="writeRtfPrefix"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListStyleBullet"/>
+       <Method name="writeListPrefix"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListStyleNumber"/>
+       <Method name="writeLevelGroup"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListStyleNumber"/>
+       <Method name="writeListPrefix"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListStyleText"/>
+       <Method name="writeListPrefix"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListTable"/>
+       <Method name="writeListTableEntry"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListTable"/>
+       <Method name="writeRtfContent"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfSpaceSplitter"/>
+       <Method name="split"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfStringConverter"/>
+       <Method name="&lt;clinit&gt;"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfStringConverter"/>
+       <Method name="escape"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfStyleSheetTable"/>
+       <Method name="addStyle"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.PercentContext"/>
+       <Method name="findParent"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.PercentContext"/>
+       <Method name="setDimension"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.PercentContext"/>
+       <Method name="setTableUnit"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.TableContext"/>
+       <Method name="decreaseRowSpannings"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.border.BorderManager"/>
+       <Method name="getCharacter"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="drawString"/>
+       <Bug pattern="DM_NUMBER_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.SpaceArea"/>
+       <Method name="getSpace"/>
+       <Bug pattern="DM_STRING_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.TernaryTree$Iterator"/>
+       <Method name="nextElement"/>
+       <Bug pattern="DM_STRING_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFJavaScriptLaunchAction"/>
+       <Method name="contentEquals"/>
+       <Bug pattern="DM_STRING_TOSTRING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialog$ShowStatus"/>
+       <Method name="run"/>
+       <Bug pattern="DM_STRING_TOSTRING"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.util.StringUtils"/>
+       <Method name="lpad"/>
+       <Bug pattern="DM_STRING_VOID_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.util.StringUtils"/>
+       <Method name="rpad"/>
+       <Bug pattern="DM_STRING_VOID_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.inline.SpaceArea"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DM_STRING_VOID_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.substitute.FontQualifier"/>
+       <Method name="toString"/>
+       <Bug pattern="DM_STRING_VOID_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.ImageUtil"/>
+       <Method name="getInt"/>
+       <Bug pattern="DM_STRING_VOID_CTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.BookmarkData"/>
+       <Method name="getIDRefs"/>
+       <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.PageViewport"/>
+       <Method name="getIDRefs"/>
+       <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontReader"/>
+       <Method name="endElement"/>
+       <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.AbstractFontReader"/>
+       <Method name="parseArguments"/>
+       <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="unicodeToWinAnsi"/>
+       <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FileCompare"/>
+       <Method name="setFilenames"/>
+       <Bug pattern="ITA_INEFFICIENT_TO_ARRAY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.goca.AbstractGraphicsCoord"/>
+       <Method name="toString"/>
+       <Bug pattern="SBSC_USE_STRINGBUFFER_CONCATENATION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.fonts.CharacterSetBuilder$FontControl"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.Registry$ObjectType"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.LineArea$LineAdjustingInfo"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FObj$FObjIterator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.XMLWhiteSpaceHandler$PendingInline"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.xmp.XMPContentHandlerFactory$FOPXMPHandler"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Character$FOCharIterator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Marker$MarkerPropertyList"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager$BlockContainerPosition"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LeafNodeLayoutManager$AreaInfo"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager$Update"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutPossibilities$Possibility"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager$AreaInfo"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager$PendingChange"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.list.ListItemLayoutManager$ListItemPosition"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFEncoding$DifferencesBuilder"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFEncryptionJCE$EncryptionFilter"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$ViewportScroller"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSBatikFlowTextElementBridge$PSFlowExtTextPainter"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSVGFlowRootElementBridge$PSFlowTextPainter"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListItem$RtfListItemLabel"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun$RtfCloseGroupMark"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun$RtfOpenGroupMark"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun$RtfParagraphBreak"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPImageElementBridge$Graphics2DNode"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.AbstractPaintingState$StateStack"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPResourceManager$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOTreeBuilder$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.svg.SVGElement$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$2"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$3"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$4"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$5"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.table.VariableColRowGroupBuilder$6"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.BackgroundPositionShorthand$Maker$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.SerializeHyphPattern$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageConverterSVG2G2D$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerGraphics2D$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.ResourceHandler$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFTextPainter$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.fontlist.FontListMain$1"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile$UnicodeMapping"/>
+       <!--Neither method nor field-->
+       <Bug pattern="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFRenderer$TextUtil"/>
+       <Field name="combined"/>
+       <Bug pattern="SS_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Field name="usePCLShades"/>
+       <Bug pattern="SS_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGraphics2D"/>
+       <Field name="failOnUnsupportedFeature"/>
+       <Bug pattern="SS_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfHeader"/>
+       <Field name="charset"/>
+       <Bug pattern="SS_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="lineEnding"/>
+       <Bug pattern="SS_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="pageEnding"/>
+       <Bug pattern="SS_SHOULD_BE_STATIC"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.ResourceEnvironmentGroup"/>
+       <Method name="getPreprocessPresentationObjects"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.datatypes.URISpecification"/>
+       <Method name="isValidURIChar"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.expr.PropertyTokenizer"/>
+       <Method name="isSpace"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="printMaxMin"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="writeULong"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="init"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="log2"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="readShort"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.AlignmentContext"/>
+       <Method name="isHorizontalWritingMode"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="clearBackground"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="getAdjustedDimension"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="getMask"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.ResourceHandler"/>
+       <Method name="createMissingForm"/>
+       <Bug pattern="UPM_UNCALLED_PRIVATE_METHOD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPGraphicsObjectInfo"/>
+       <Field name="area"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageNumberGenerator"/>
+       <Field name="format"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageNumberGenerator"/>
+       <Field name="groupingSeparator"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageNumberGenerator"/>
+       <Field name="groupingSize"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageNumberGenerator"/>
+       <Field name="letterValue"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.Root"/>
+       <Field name="mediaUsage"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontReader"/>
+       <Field name="cidWidthIndex"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontReader"/>
+       <Field name="locator"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.Courier"/>
+       <Field name="enableKerning"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.CourierBold"/>
+       <Field name="enableKerning"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.CourierBoldOblique"/>
+       <Field name="enableKerning"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.CourierOblique"/>
+       <Field name="enableKerning"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.Symbol"/>
+       <Field name="enableKerning"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.base14.ZapfDingbats"/>
+       <Field name="enableKerning"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.ICLayoutManager"/>
+       <Field name="childrenLM"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.BitmapImage"/>
+       <Field name="pdfDoc"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DRenderingContext"/>
+       <Field name="fontInfo"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer"/>
+       <Field name="lastChild"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.BuilderContext"/>
+       <Field name="options"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.BuilderContext"/>
+       <Field name="builders"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.tools.TableContext"/>
+       <Field name="context"/>
+       <Bug pattern="URF_UNREAD_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfPageArea"/>
+       <Field name="childAttributes"/>
+       <Bug pattern="UUF_UNUSED_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfPageArea"/>
+       <Field name="nullChild"/>
+       <Bug pattern="UUF_UNUSED_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FileCompare"/>
+       <Field name="filenames"/>
+       <Bug pattern="UUF_UNUSED_FIELD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.PageViewport"/>
+       <Method name="addMarkers"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.TTFReader"/>
+       <Method name="generateDOM4Kerning"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="readKerning"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="createGlyf"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="createHmtx"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFSubSetFile"/>
+       <Method name="scanGlyphs"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFGState"/>
+       <Method name="contentEquals"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFResources"/>
+       <Method name="addFonts"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSFontUtils"/>
+       <Method name="reencodeFonts"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.RunTest"/>
+       <Method name="testNewBuild"/>
+       <Bug pattern="WMI_WRONG_MAP_ITERATOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager"/>
+       <Method name="removeWordSpace"/>
+       <Bug pattern="BC_BAD_CAST_TO_CONCRETE_COLLECTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPBorderPainter"/>
+       <Method name="paint"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPDitheredRectanglePainter"/>
+       <Method name="paint"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPRectanglePainter"/>
+       <Method name="paint"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.ImageObject"/>
+       <Method name="setViewport"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.XMLWhiteSpaceHandler"/>
+       <Method name="handleWhiteSpace"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Footnote"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Footnote"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.ListItem"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.ListItem"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.ListItem"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.Declarations"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequence"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequence"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequence"/>
+       <Method name="addChildNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CondLengthProperty"/>
+       <Method name="setComponent"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.EnumNumber"/>
+       <Method name="getInstance"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.EnumNumber"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageConverterG2D2SVG"/>
+       <Method name="convert"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageConverterSVG2G2D"/>
+       <Method name="convert"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageConverterWMF2G2D"/>
+       <Method name="convert"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockStackingLayoutManager"/>
+       <Method name="addChildToArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockStackingLayoutManager"/>
+       <Method name="getNextChildElements"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockStackingLayoutManager"/>
+       <Method name="negotiateBPDAdjustment"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$BasicLinkLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$BlockContainerLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$BlockLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$CharacterLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$ExternalGraphicLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$FOTextLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$FootnodeLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$InlineContainerLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$InlineLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$InstreamForeignObjectLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$LeaderLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$ListBlockLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$ListItemLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$PageNumberCitationLastLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$PageNumberCitationLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$PageNumberLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$TableLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.LayoutManagerMapping$WrapperLayoutManagerMaker"/>
+       <Method name="make"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/>
+       <Method name="updateData2"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/>
+       <Method name="computeAdjustmentRatio"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/>
+       <Method name="computeDifference"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.StaticContentLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.AbstractGraphicsLayoutManager"/>
+       <Method name="getBaseLength"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.ContentLayoutManager"/>
+       <Method name="addChildLM"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager$LineBreakingAlgorithm"/>
+       <Method name="updateData2"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager"/>
+       <Method name="getWordChars"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager"/>
+       <Method name="hyphenate"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.list.ListBlockLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.list.ListItemContentLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.list.ListItemLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableAndCaptionLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableCaptionLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableCellLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableLayoutManager"/>
+       <Method name="addChildArea"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="makeFont"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="makeFont"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPDocumentHandler"/>
+       <Method name="handleExtensionObject"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPGraphics2DAdapter"/>
+       <Method name="paintImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRawCCITTFax"/>
+       <Method name="setAdditionalParameters"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRawCCITTFax"/>
+       <Method name="setAdditionalParameters"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPSVGHandler"/>
+       <Method name="renderSVGDocument"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AbstractAFPImageHandlerRawStream"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AbstractAFPImageHandlerRawStream"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.BitmapRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.TIFFRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.TIFFRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DRenderer"/>
+       <Method name="print"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.FOToPDFRoleMap$TableCellMapper"/>
+       <Method name="getStructureType"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFDocumentNavigationHandler"/>
+       <Method name="addResolvedAction"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRawCCITTFax"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRawCCITTFax"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRawJPEG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRawJPEG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.NativeTextHandler"/>
+       <Method name="drawString"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerEPS"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerEPS"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerGraphics2D"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerGraphics2D"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerGraphics2D"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawCCITTFax"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawCCITTFax"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawCCITTFax"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawCCITTFax"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawJPEG"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawJPEG"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawJPEG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRawJPEG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRenderedImage"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRenderedImage"/>
+       <Method name="generateForm"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerRenderedImage"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRendererConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPImageElementBridge"/>
+       <Method name="createImageGraphicsNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFAElementBridge"/>
+       <Method name="createGraphicsNode"/>
+       <Bug pattern="BC_UNCONFIRMED_CAST"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.goca.GraphicsChainedSegment"/>
+       <Field name="MAX_DATA_LEN"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Marker$MarkerAttribute"/>
+       <Field name="name"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Marker$MarkerAttribute"/>
+       <Field name="namespace"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Marker$MarkerAttribute"/>
+       <Field name="qname"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Marker$MarkerAttribute"/>
+       <Field name="value"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.ColorProperty"/>
+       <Field name="color"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.Hyphenator"/>
+       <Field name="log"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorUtil"/>
+       <Field name="log"/>
+       <Bug pattern="CI_CONFUSED_INHERITANCE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.ioca.ImageOutputControl"/>
+       <Method name="writeToStream"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.ioca.ImageRasterPattern"/>
+       <Method name="getRasterData"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOText"/>
+       <Method name="isWordChar"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOText"/>
+       <Method name="isWordChar"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.Leader"/>
+       <Method name="bind"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.CommonFont"/>
+       <Method name="getFontState"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.PositionShorthandParser"/>
+       <Method name="getValueForProperty"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.PageBreakingAlgorithm"/>
+       <Method name="considerLegalBreak"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.AlignmentContext"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.AlignmentContext"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.TextLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.HardcodedFonts"/>
+       <Method name="selectFont"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGraphics2D"/>
+       <Method name="processPathIteratorFill"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.Fop"/>
+       <Method name="execute"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.Fop"/>
+       <Method name="execute"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.BreakUtil"/>
+       <Method name="getBreakClassPriority"/>
+       <Bug pattern="DB_DUPLICATE_SWITCH_CLAUSES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.triplets.AttributeValueTriplet"/>
+       <Method name="writeToStream"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.XMLWhiteSpaceHandler"/>
+       <Method name="handleWhiteSpace"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.expr.PropertyTokenizer"/>
+       <Method name="next"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.TextDecorationProperty$Maker"/>
+       <Method name="convertProperty"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.truetype.TTFFile"/>
+       <Method name="readFont"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$FontBBox"/>
+       <Method name="parseBBox"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMParser$KPXHandler"/>
+       <Method name="parse"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFMFile"/>
+       <Method name="load"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <Method name="main"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.TernaryTree$Iterator"/>
+       <Method name="up"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.AbstractBreaker"/>
+       <Method name="addAreas"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.AbstractBreaker"/>
+       <Method name="justifyBoxes"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.AbstractBreaker"/>
+       <Method name="justifyBoxes"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockStackingLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.FootnoteBodyLayoutManager"/>
+       <Method name="addAreas"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.ContentLayoutManager"/>
+       <Method name="fillArea"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.ContentLayoutManager"/>
+       <Method name="fillArea"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager"/>
+       <Method name="findOptimalBreakingPoints"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableCellLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.AbstractRenderer"/>
+       <Method name="renderText"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialog"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewDialog"/>
+       <Method name="showGoToPageDialog"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.AbstractImageAdapter"/>
+       <Method name="setupColorProfile"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.ImageRawJPEGAdapter"/>
+       <Method name="outputContents"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSPainter"/>
+       <Method name="writeText"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer"/>
+       <Method name="addChild"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfContainer"/>
+       <Method name="addChild"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExtraRowSet"/>
+       <Method name="writeRow"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableRow"/>
+       <Method name="writePaddingAttributes"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
+       <Method name="addCloseGroupMark"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
+       <Method name="addCloseGroupMark"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
+       <Method name="addOpenGroupMark"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
+       <Method name="addPageNumber"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTextrun"/>
+       <Method name="addPageNumberCitation"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFANode"/>
+       <Method name="paint"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="createPattern"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFunction"/>
+       <Method name="toPDF"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE_OF_NULL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE_OF_NULL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageHandlerSVG"/>
+       <Method name="handleImage"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE_OF_NULL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSSVGHandler"/>
+       <Method name="renderSVGDocument"/>
+       <Bug pattern="DLS_DEAD_LOCAL_STORE_OF_NULL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSImageFormResource"/>
+       <!-- Listing the method 'equals' does not work -->
+       <Bug pattern="EQ_DOESNT_OVERRIDE_EQUALS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExtraRowSet$PositionedCell"/>
+       <Method name="equals"/>
+       <Bug pattern="EQ_UNUSUAL"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.NumberProperty"/>
+       <Method name="&lt;init&gt;"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.ImageConverterWMF2G2D$Graphics2DImagePainterWMF"/>
+       <Method name="paint"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFColor"/>
+       <Method name="contentEquals"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFColor"/>
+       <Method name="getColorSpaceOut"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFPaintingState"/>
+       <Method name="setCharacterSpacing"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFTextUtil"/>
+       <Method name="updateTf"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.CustomFontMetricsMapper"/>
+       <Method name="getFont"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DFontMetrics"/>
+       <Method name="setFont"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DGraphicsState"/>
+       <Method name="updateStroke"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="getAdjustedDimension"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="paintBitmap"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFGraphics2D"/>
+       <Method name="updateCurrentFont"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.AbstractPaintingState"/>
+       <Method name="setLineWidth"/>
+       <Bug pattern="FE_FLOATING_POINT_EQUALITY"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfLeader"/>
+       <Method name="writeRtfContent"/>
+       <Bug pattern="ICAST_IDIV_CAST_TO_DOUBLE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.AbstractCodePointMapping"/>
+       <Method name="mapChar"/>
+       <Bug pattern="IM_AVERAGE_COMPUTATION_COULD_OVERFLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.AbstractPageSequence"/>
+       <Method name="initPageNumber"/>
+       <Bug pattern="IM_BAD_CHECK_FOR_ODD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequence"/>
+       <Method name="getNextSimplePageMaster"/>
+       <Bug pattern="IM_BAD_CHECK_FOR_ODD"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <Method name="main"/>
+       <Bug pattern="NP_IMMEDIATE_DEREFERENCE_OF_READLINE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPRendererConfigurator"/>
+       <Method name="buildFontListFromConfiguration"/>
+       <Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="paintBitmap"/>
+       <Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="image"/>
+       <Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFDocumentGraphics2DConfigurator"/>
+       <Method name="createFontInfo"/>
+       <Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FOPTaskStarter"/>
+       <Method name="render"/>
+       <Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.ImageProxyPanel"/>
+       <Method name="paintComponent"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.ImageProxyPanel"/>
+       <Method name="paintComponent"/>
+       <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableStepper"/>
+       <Method name="considerRowLastStep"/>
+       <Bug pattern="NS_DANGEROUS_NON_SHORT_CIRCUIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FileCompare"/>
+       <Method name="setReferenceDirectory"/>
+       <Bug pattern="NS_DANGEROUS_NON_SHORT_CIRCUIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FileCompare"/>
+       <Method name="setTestDirectory"/>
+       <Bug pattern="NS_DANGEROUS_NON_SHORT_CIRCUIT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.util.AFPResourceUtil"/>
+       <Method name="getNext"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.FOText"/>
+       <Method name="getCharArray"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontCache"/>
+       <Method name="getFontInfos"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.MultiByteFont"/>
+       <Method name="getCharsUsed"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
+       <Method name="find"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableRowIterator"/>
+       <Method name="getNextRowGroup"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFPattern"/>
+       <Method name="toPDF"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.AffineTransformArrayParser"/>
+       <Method name="getAffineTransforms"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPTextPainter"/>
+       <Method name="getSelected"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.NativeTextPainter"/>
+       <Method name="findFonts"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ConversionUtils"/>
+       <Method name="toDoubleArray"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ConversionUtils"/>
+       <Method name="toIntArray"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.XMLUtil"/>
+       <Method name="getAttributeAsIntArray"/>
+       <Bug pattern="PZLA_PREFER_ZERO_LENGTH_ARRAYS"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.MapCodedFont"/>
+       <Method name="addFont"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.FontInfo"/>
+       <Method name="fuzzyFontLookup"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
+       <Method name="find"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.substitute.FontQualifier"/>
+       <Method name="setFontFamily"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.substitute.FontSubstitutionsConfigurator"/>
+       <Method name="configure"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFColor"/>
+       <Method name="getColorSpaceOut"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFFactory"/>
+       <Method name="makeFontFile"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLPainter"/>
+       <Method name="fillRect"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pdf.PDFPainter"/>
+       <Method name="fillRect"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSPainter"/>
+       <Method name="fillRect"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSTextPainter"/>
+       <Method name="paintTextRun"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfElement"/>
+       <Method name="toString"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFTextPainter"/>
+       <Method name="paintTextRun"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager"/>
+       <Method name="getNextKnuthElements"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="paintBitmap"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLGenerator"/>
+       <Method name="paintBitmap"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="image"/>
+       <Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.accessibility.AccessibilityPreprocessor"/>
+       <Method name="endDocument"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.accessibility.StructureTree"/>
+       <Method name="toString"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.area.CachedRenderPagesModel"/>
+       <Method name="checkPreparedPages"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.CommandLineOptions"/>
+       <Method name="parse"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.InputHandler"/>
+       <Method name="transformTo"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.Main"/>
+       <Method name="startFOP"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.cli.Main"/>
+       <Method name="startFOPWithDynamicClasspath"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.svg.BatikExtensionElementMapping"/>
+       <Method name="getAParserClassName"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.svg.SVGDOMContentHandlerFactory$Handler"/>
+       <Method name="getDOMImplementation"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.svg.SVGElementMapping"/>
+       <Method name="getAParserClassName"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.PFMReader"/>
+       <Method name="main"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.apps.TTFReader"/>
+       <Method name="main"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.autodetect.FontInfoFinder"/>
+       <Method name="find"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <Method name="main"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.Hyphenator"/>
+       <Method name="getResourceStream"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.image.loader.batik.PreloaderSVG"/>
+       <Method name="getParserName"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPRendererConfigurator"/>
+       <Method name="fontFromType"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.ConfiguredFontCollection"/>
+       <Method name="setup"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.PageAttributesConverter"/>
+       <Method name="convertPageAttributes"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="leader"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.RTFHandler"/>
+       <Method name="startPageNumberCitation"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExternalGraphic"/>
+       <Method name="writeRtfContentWithException"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.servlet.FopServlet"/>
+       <Method name="doGet"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.AbstractFOPImageElementBridge"/>
+       <Method name="createImageGraphicsNode"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.NativeTextPainter"/>
+       <Method name="findFonts"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.SimpleSVGUserAgent"/>
+       <Method name="getXMLParserClassName"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTest"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTests"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FOPTaskStarter"/>
+       <Method name="run"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.RunTest"/>
+       <Method name="runConverter"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorSpaceCache"/>
+       <Method name="get"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorUtil"/>
+       <Method name="parseAsCMYK"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorUtil"/>
+       <Method name="parseAsFopRgbIcc"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorUtil"/>
+       <Method name="parseWithHash"/>
+       <Bug pattern="REC_CATCH_EXCEPTION"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPPaintingState"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="java.lang.Cloneable"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.modca.AbstractResourceGroupContainer"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.Streamable"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="java.io.Serializable"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.FlowLayoutManager"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockLevelLayoutManager"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.TableCellLayoutManager"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockLevelLayoutManager"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPRendererConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.BitmapRendererConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.pcl.PCLRendererConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSRendererConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFDocumentHandlerConfigurator"/>
+       <!--Neither method nor field-->
+       <Bug pattern="RI_REDUNDANT_INTERFACES"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.awt.viewer.PreviewPanel$Reloader"/>
+       <Method name="run"/>
+       <Bug pattern="SF_SWITCH_FALLTHROUGH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DBorderPainter"/>
+       <Method name="drawLine"/>
+       <Bug pattern="SF_SWITCH_FALLTHROUGH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.java2d.Java2DRenderer"/>
+       <Method name="renderLeader"/>
+       <Bug pattern="SF_SWITCH_FALLTHROUGH"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.text.AdvancedMessageFormat"/>
+       <Method name="parseInnerPattern"/>
+       <Bug pattern="SF_SWITCH_NO_DEFAULT"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.afp.AFPGraphics2D"/>
+       <Method name="applyPaint"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.PropertyMaker"/>
+       <Method name="convertShorthandProperty"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.AbstractBreaker"/>
+       <Method name="justifyBoxes"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager"/>
+       <Method name="doForcePageCount"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockStackingLayoutManager"/>
+       <Method name="addChildToArea"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.table.CollapsingBorderModel"/>
+       <Method name="getBorderModelFor"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.IFRenderer"/>
+       <Method name="getGoToActionForID"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSDocumentHandler"/>
+       <Method name="startPage"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.TextAttributesConverter"/>
+       <Method name="convertLeaderAttributes"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.TestConverter"/>
+       <Method name="runTestCase"/>
+       <Bug pattern="UCF_USELESS_CONTROL_FLOW"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.extensions.xmp.AbstractMetadataElement"/>
+       <Field name="attachment"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.flow.AbstractGraphics"/>
+       <Field name="alignmentAdjust"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.AbstractPageSequence"/>
+       <Field name="pageNumberGenerator"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.AbstractPageSequence"/>
+       <Field name="referenceOrientation"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.LayoutMasterSet"/>
+       <Field name="pageSequenceMasters"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.LayoutMasterSet"/>
+       <Field name="simplePageMasters"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequence"/>
+       <Field name="flowMap"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequenceMaster"/>
+       <Field name="layoutMasterSet"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.PageSequenceMaster"/>
+       <Field name="subSequenceSpecifiers"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.Region"/>
+       <Field name="referenceOrientation"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.RegionBody"/>
+       <Field name="columnCount"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.RegionBody"/>
+       <Field name="columnGap"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.RegionBody"/>
+       <Field name="commonMarginBlock"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.RepeatablePageMasterReference"/>
+       <Field name="maximumRepeats"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.SimplePageMaster"/>
+       <Field name="referenceOrientation"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.pagination.SimplePageMaster"/>
+       <Field name="regions"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.SpaceProperty"/>
+       <Field name="conditionality"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fo.properties.SpaceProperty"/>
+       <Field name="precedence"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.AFMFile"/>
+       <Field name="kerningMap"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFBData"/>
+       <Field name="encryptedSegment"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFBData"/>
+       <Field name="headerSegment"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.fonts.type1.PFBData"/>
+       <Field name="trailerSegment"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.hyphenation.HyphenationTree"/>
+       <Field name="ivalues"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.BlockContainerLayoutManager$BlockContainerBreaker"/>
+       <Field name="deferredAlg"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.layoutmgr.inline.LineLayoutManager$Paragraph"/>
+       <Field name="lineFiller"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFLink"/>
+       <Field name="action"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFT1Stream"/>
+       <Field name="pfb"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.pdf.PDFTextUtil"/>
+       <Field name="bufTJ"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.AbstractRenderingContext"/>
+       <Field name="hints"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.afp.AFPDocumentHandler"/>
+       <Field name="dataStream"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.PNGRenderer"/>
+       <Field name="multiFileUtil"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.bitmap.TIFFRenderer"/>
+       <Field name="outputStream"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.intermediate.AffineTransformArrayParser"/>
+       <Field name="transforms"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.ps.PSTextPainter$TextUtil"/>
+       <Field name="fonts"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfExternalGraphic"/>
+       <Field name="imageformat"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFile"/>
+       <Field name="listTableContainer"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListStyle"/>
+       <Field name="rtfListItem"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.rtf.rtflib.rtfdoc.RtfParagraph"/>
+       <Field name="text"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="bm"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="charData"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="currentStream"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="decoData"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.render.txt.TXTRenderer"/>
+       <Field name="outputStream"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFANode"/>
+       <Field name="destination"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFANode"/>
+       <Field name="transform"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFTextUtil"/>
+       <Field name="font"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.svg.PDFTextUtil"/>
+       <Field name="fonts"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.tools.anttasks.FileCompare"/>
+       <Field name="filenameList"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <Match>
+       <Class name="org.apache.fop.util.ColorExt"/>
+       <Field name="colorValues"/>
+       <Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"/>
+    </Match>
+    <!-- /Automatically generated list of exclusions -->
++<!-- .merge-right.r1036883 -->
 +</FindBugsFilter>
index 089117759e5e951d39031aae3d5197e765942a22,f94c6845409f98eb5a712426ef4b515a239d2fad..b0bbf80f791e06a5f4ef4b76298bb28532bee38d
@@@ -39,6 -39,29 +39,8 @@@ import org.apache.fop.traits.BorderProp
   */
  public class Area extends AreaTreeObject implements Serializable {
  
 -    // stacking directions
 -    /**
 -     * Stacking left to right
 -     */
 -    public static final int LR = 0;
 -
 -    /**
 -     * Stacking right to left
 -     */
 -    public static final int RL = 1;
 -
 -    /**
 -     * Stacking top to bottom
 -     */
 -    public static final int TB = 2;
 -
 -    /**
 -     * Stacking bottom to top
 -     */
 -    public static final int BT = 3;
 -
+     private static final long serialVersionUID = 6342888466142626492L;
      // orientations for reference areas
      /**
       * Normal orientation
      /**
       * logging instance
       */
-     protected static Log log = LogFactory.getLog(Area.class);
+     protected static final Log log = LogFactory.getLog(Area.class);
  
 -
      /**
       * Get the area class of this area.
       *
Simple merge
index 42aedd26b7cb12f48d54c3d370f184a03ea57275,911e576467a1ccdc6a68cc191ec7335bd31f94e5..bde5135a2f8b74fe93d0e2a0d1af857d3b23a168
@@@ -254,14 -254,11 +254,14 @@@ public class FontInfoConfigurator 
          }
  
          boolean useKerning = fontCfg.getAttributeAsBoolean("kerning", true);
-         EncodingMode encodingMode = EncodingMode.valueOf(
 +        boolean useAdvanced = fontCfg.getAttributeAsBoolean("advanced", true);
+         EncodingMode encodingMode = EncodingMode.getEncodingMode(
                  fontCfg.getAttribute("encoding-mode", EncodingMode.AUTO.getName()));
          EmbedFontInfo embedFontInfo
 -                = new EmbedFontInfo(metricsUrl, useKerning, tripletList, embedUrl, subFont);
 +            = new EmbedFontInfo(metricsUrl, useKerning, useAdvanced, tripletList, embedUrl,
 +                                subFont);
          embedFontInfo.setEncodingMode(encodingMode);
 +        boolean skipCachedFont = false;
          if (fontCache != null) {
              if (!fontCache.containsFont(embedFontInfo)) {
                  fontCache.addFont(embedFontInfo);
index 0256fc319a340c642867106e96653fef3516c746,02c09a1a1054104006ee646f4f57c8375fef14f3..91b7639394179f3a35f00a4df47aa66da4fed33d
@@@ -40,23 -40,21 +40,23 @@@ import org.apache.fop.fonts.type1.Type1
  public abstract class FontLoader {
  
      /** logging instance */
-     protected static Log log = LogFactory.getLog(FontLoader.class);
+     protected static final Log log = LogFactory.getLog(FontLoader.class);
  
      /** URI representing the font file */
 -    protected String fontFileURI = null;
 +    protected String fontFileURI;
      /** the FontResolver to use for font URI resolution */
 -    protected FontResolver resolver = null;
 +    protected FontResolver resolver;
      /** the loaded font */
 -    protected CustomFont returnFont = null;
 +    protected CustomFont returnFont;
  
      /** true if the font has been loaded */
 -    protected boolean loaded = false;
 +    protected boolean loaded;
      /** true if the font will be embedded, false if it will be referenced only. */
 -    protected boolean embedded = true;
 -    /** true if kerning information shall be loaded if available. */
 -    protected boolean useKerning = true;
 +    protected boolean embedded;
 +    /** true if kerning information false be loaded if available. */
 +    protected boolean useKerning;
 +    /** true if advanced typographic information shall be loaded if available. */
 +    protected boolean useAdvanced;
  
      /**
       * Default constructor.
index 89826dfc929cf0bdddca1d8239ed5d21b50d0f3d,0000000000000000000000000000000000000000..a0f34bf322f81148785189b8764d59a31f5f599c
mode 100644,000000..100644
--- /dev/null
@@@ -1,1470 -1,0 +1,1470 @@@
-             } else if ( ci >=glyphs.length ) {
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *      http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +
 +/* $Id$ */
 +
 +package org.apache.fop.fonts;
 +
 +import java.nio.CharBuffer;
 +
 +import java.util.ArrayList;
 +import java.util.Iterator;
 +import java.util.List;
 +import java.util.Map;
 +
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
 +// CSOFF: InnerAssignmentCheck
 +// CSOFF: LineLengthCheck
 +// CSOFF: NoWhitespaceAfterCheck
 +
 +/**
 + * The <code>GlyphSubstitutionTable</code> class is a glyph table that implements
 + * <code>GlyphSubstitution</code> functionality.
 + * @author Glenn Adams
 + */
 +public class GlyphSubstitutionTable extends GlyphTable {
 +
 +    /** logging instance */
 +    private static final Log log = LogFactory.getLog(GlyphSubstitutionTable.class);                                     // CSOK: ConstantNameCheck
 +
 +    /** single substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_SINGLE = 1;
 +    /** multiple substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_MULTIPLE = 2;
 +    /** alternate substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_ALTERNATE = 3;
 +    /** ligature substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_LIGATURE = 4;
 +    /** contextual substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_CONTEXTUAL = 5;
 +    /** chained contextual substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL = 6;
 +    /** extension substitution substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION = 7;
 +    /** reverse chained contextual single substitution subtable type */
 +    public static final int GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE = 8;
 +
 +    /**
 +     * Instantiate a <code>GlyphSubstitutionTable</code> object using the specified lookups
 +     * and subtables.
 +     * @param gdef glyph definition table that applies
 +     * @param lookups a map of lookup specifications to subtable identifier strings
 +     * @param subtables a list of identified subtables
 +     */
 +    public GlyphSubstitutionTable ( GlyphDefinitionTable gdef, Map lookups, List subtables ) {
 +        super ( gdef, lookups );
 +        if ( ( subtables == null ) || ( subtables.size() == 0 ) ) {
 +            throw new IllegalArgumentException ( "subtables must be non-empty" );
 +        } else {
 +            for ( Iterator it = subtables.iterator(); it.hasNext();) {
 +                Object o = it.next();
 +                if ( o instanceof GlyphSubstitutionSubtable ) {
 +                    addSubtable ( (GlyphSubtable) o );
 +                } else {
 +                    throw new IllegalArgumentException ( "subtable must be a glyph substitution subtable" );
 +                }
 +            }
 +            freezeSubtables();
 +        }
 +    }
 +
 +    /**
 +     * Perform substitution processing using all matching lookups.
 +     * @param gs an input glyph sequence
 +     * @param script a script identifier
 +     * @param language a language identifier
 +     * @return the substituted (output) glyph sequence
 +     */
 +    public GlyphSequence substitute ( GlyphSequence gs, String script, String language ) {
 +        GlyphSequence ogs;
 +        Map/*<LookupSpec,List<LookupTable>>*/ lookups = matchLookups ( script, language, "*" );
 +        if ( ( lookups != null ) && ( lookups.size() > 0 ) ) {
 +            ScriptProcessor sp = ScriptProcessor.getInstance ( script );
 +            ogs = sp.substitute ( this, gs, script, language, lookups );
 +        } else {
 +            ogs = gs;
 +        }
 +        return ogs;
 +    }
 +
 +    /**
 +     * Map a lookup type name to its constant (integer) value.
 +     * @param name lookup type name
 +     * @return lookup type
 +     */
 +    public static int getLookupTypeFromName ( String name ) {
 +        int t;
 +        String s = name.toLowerCase();
 +        if ( "single".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_SINGLE;
 +        } else if ( "multiple".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_MULTIPLE;
 +        } else if ( "alternate".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_ALTERNATE;
 +        } else if ( "ligature".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_LIGATURE;
 +        } else if ( "contextual".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_CONTEXTUAL;
 +        } else if ( "chainedcontextual".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
 +        } else if ( "extensionsubstitution".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION;
 +        } else if ( "reversechainiingcontextualsingle".equals ( s ) ) {
 +            t = GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
 +        } else {
 +            t = -1;
 +        }
 +        return t;
 +    }
 +
 +    /**
 +     * Map a lookup type constant (integer) value to its name.
 +     * @param type lookup type
 +     * @return lookup type name
 +     */
 +    public static String getLookupTypeName ( int type ) {
 +        String tn = null;
 +        switch ( type ) {
 +        case GSUB_LOOKUP_TYPE_SINGLE:
 +            tn = "single";
 +            break;
 +        case GSUB_LOOKUP_TYPE_MULTIPLE:
 +            tn = "multiple";
 +            break;
 +        case GSUB_LOOKUP_TYPE_ALTERNATE:
 +            tn = "alternate";
 +            break;
 +        case GSUB_LOOKUP_TYPE_LIGATURE:
 +            tn = "ligature";
 +            break;
 +        case GSUB_LOOKUP_TYPE_CONTEXTUAL:
 +            tn = "contextual";
 +            break;
 +        case GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
 +            tn = "chainedcontextual";
 +            break;
 +        case GSUB_LOOKUP_TYPE_EXTENSION_SUBSTITUTION:
 +            tn = "extensionsubstitution";
 +            break;
 +        case GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE:
 +            tn = "reversechainiingcontextualsingle";
 +            break;
 +        default:
 +            tn = "unknown";
 +            break;
 +        }
 +        return tn;
 +    }
 +
 +    /**
 +     * Create a substitution subtable according to the specified arguments.
 +     * @param type subtable type
 +     * @param id subtable identifier
 +     * @param sequence subtable sequence
 +     * @param flags subtable flags
 +     * @param format subtable format
 +     * @param coverage subtable coverage table
 +     * @param entries subtable entries
 +     * @return a glyph subtable instance
 +     */
 +    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +        GlyphSubtable st = null;
 +        switch ( type ) {
 +        case GSUB_LOOKUP_TYPE_SINGLE:
 +            st = SingleSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        case GSUB_LOOKUP_TYPE_MULTIPLE:
 +            st = MultipleSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        case GSUB_LOOKUP_TYPE_ALTERNATE:
 +            st = AlternateSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        case GSUB_LOOKUP_TYPE_LIGATURE:
 +            st = LigatureSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        case GSUB_LOOKUP_TYPE_CONTEXTUAL:
 +            st = ContextualSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        case GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL:
 +            st = ChainedContextualSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        case GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE:
 +            st = ReverseChainedSingleSubtable.create ( id, sequence, flags, format, coverage, entries );
 +            break;
 +        default:
 +            break;
 +        }
 +        return st;
 +    }
 +
 +    /**
 +     * Create a substitution subtable according to the specified arguments.
 +     * @param type subtable type
 +     * @param id subtable identifier
 +     * @param sequence subtable sequence
 +     * @param flags subtable flags
 +     * @param format subtable format
 +     * @param coverage list of coverage table entries
 +     * @param entries subtable entries
 +     * @return a glyph subtable instance
 +     */
 +    public static GlyphSubtable createSubtable ( int type, String id, int sequence, int flags, int format, List coverage, List entries ) {
 +        return createSubtable ( type, id, sequence, flags, format, GlyphCoverageTable.createCoverageTable ( coverage ), entries );
 +    }
 +
 +    private abstract static class SingleSubtable extends GlyphSubstitutionSubtable {
 +        SingleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_SINGLE;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof SingleSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean substitute ( GlyphSubstitutionState ss ) {
 +            int gi = ss.getGlyph(), ci;
 +            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
 +                return false;
 +            } else {
 +                int go = getGlyphForCoverageIndex ( ci, gi );
 +                if ( ( go < 0 ) || ( go > 65535 ) ) {
 +                    go = 65535;
 +                }
 +                ss.putGlyph ( go, ss.getAssociation() );
 +                ss.consume(1);
 +                return true;
 +            }
 +        }
 +        /**
 +         * Obtain glyph for coverage index.
 +         * @param ci coverage index
 +         * @param gi original glyph index
 +         * @return substituted glyph value
 +         * @throws IllegalArgumentException if coverage index is not valid
 +         */
 +        public abstract int getGlyphForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new SingleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else if ( format == 2 ) {
 +                return new SingleSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class SingleSubtableFormat1 extends SingleSubtable {
 +        private int delta;
 +        private int ciMax;
 +        SingleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            List entries = new ArrayList ( 1 );
 +            entries.add ( Integer.valueOf ( delta ) );
 +            return entries;
 +        }
 +        /** {@inheritDoc} */
 +        public int getGlyphForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
 +            if ( ci <= ciMax ) {
 +                return gi + delta;
 +            } else {
 +                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + ciMax );
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            if ( ( entries == null ) || ( entries.size() != 1 ) ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null and contain exactly one entry" );
 +            } else {
 +                Object o = entries.get(0);
 +                int delta = 0;
 +                if ( o instanceof Integer ) {
 +                    delta = ( (Integer) o ) . intValue();
 +                } else {
 +                    throw new IllegalArgumentException ( "illegal entries entry, must be Integer, but is: " + o );
 +                }
 +                this.delta = delta;
 +                this.ciMax = getCoverageSize() - 1;
 +            }
 +        }
 +    }
 +
 +    private static class SingleSubtableFormat2 extends SingleSubtable {
 +        private int[] glyphs;
 +        SingleSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            List entries = new ArrayList ( glyphs.length );
 +            for ( int i = 0, n = glyphs.length; i < n; i++ ) {
 +                entries.add ( Integer.valueOf ( glyphs[i] ) );
 +            }
 +            return entries;
 +        }
 +        /** {@inheritDoc} */
 +        public int getGlyphForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
 +            if ( glyphs == null ) {
 +                return -1;
++            } else if ( ci >= glyphs.length ) {
 +                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + glyphs.length );
 +            } else {
 +                return glyphs [ ci ];
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            int i = 0, n = entries.size();
 +            int[] glyphs = new int [ n ];
 +            for ( Iterator it = entries.iterator(); it.hasNext();) {
 +                Object o = it.next();
 +                if ( o instanceof Integer ) {
 +                    int gid = ( (Integer) o ) .intValue();
 +                    if ( ( gid >= 0 ) && ( gid < 65536 ) ) {
 +                        glyphs [ i++ ] = gid;
 +                    } else {
 +                        throw new IllegalArgumentException ( "illegal glyph index: " + gid );
 +                    }
 +                } else {
 +                    throw new IllegalArgumentException ( "illegal entries entry, must be Integer: " + o );
 +                }
 +            }
 +            assert i == n;
 +            assert this.glyphs == null;
 +            this.glyphs = glyphs;
 +        }
 +    }
 +
 +    private abstract static class MultipleSubtable extends GlyphSubstitutionSubtable {
 +        public MultipleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_MULTIPLE;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof MultipleSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean substitute ( GlyphSubstitutionState ss ) {
 +            int gi = ss.getGlyph(), ci;
 +            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
 +                return false;
 +            } else {
 +                int[] ga = getGlyphsForCoverageIndex ( ci, gi );
 +                if ( ga != null ) {
 +                    ss.putGlyphs ( ga, GlyphSequence.CharAssociation.replicate ( ss.getAssociation(), ga.length ) );
 +                    ss.consume(1);
 +                }
 +                return true;
 +            }
 +        }
 +        /**
 +         * Obtain glyph sequence for coverage index.
 +         * @param ci coverage index
 +         * @param gi original glyph index
 +         * @return sequence of glyphs to substitute for input glyph
 +         * @throws IllegalArgumentException if coverage index is not valid
 +         */
 +        public abstract int[] getGlyphsForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new MultipleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class MultipleSubtableFormat1 extends MultipleSubtable {
 +        private int[][] gsa;                            // glyph sequence array, ordered by coverage index
 +        MultipleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( gsa != null ) {
 +                List entries = new ArrayList ( 1 );
 +                entries.add ( gsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public int[] getGlyphsForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
 +            if ( gsa == null ) {
 +                return null;
 +            } else if ( ci >= gsa.length ) {
 +                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + gsa.length );
 +            } else {
 +                return gsa [ ci ];
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 1 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof int[][] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an int[][], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    gsa = (int[][]) o;
 +                }
 +            }
 +        }
 +    }
 +
 +    private abstract static class AlternateSubtable extends GlyphSubstitutionSubtable {
 +        public AlternateSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_ALTERNATE;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof AlternateSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean substitute ( GlyphSubstitutionState ss ) {
 +            int gi = ss.getGlyph(), ci;
 +            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
 +                return false;
 +            } else {
 +                int[] ga = getAlternatesForCoverageIndex ( ci, gi );
 +                int ai = ss.getAlternatesIndex ( ci );
 +                int go;
 +                if ( ( ai < 0 ) || ( ai >= ga.length ) ) {
 +                    go = gi;
 +                } else {
 +                    go = ga [ ai ];
 +                }
 +                if ( ( go < 0 ) || ( go > 65535 ) ) {
 +                    go = 65535;
 +                }
 +                ss.putGlyph ( go, ss.getAssociation() );
 +                ss.consume(1);
 +                return true;
 +            }
 +        }
 +        /**
 +         * Obtain glyph alternates for coverage index.
 +         * @param ci coverage index
 +         * @param gi original glyph index
 +         * @return sequence of glyphs to substitute for input glyph
 +         * @throws IllegalArgumentException if coverage index is not valid
 +         */
 +        public abstract int[] getAlternatesForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new AlternateSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class AlternateSubtableFormat1 extends AlternateSubtable {
 +        private int[][] gaa;                            // glyph alternates array, ordered by coverage index
 +        AlternateSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            List entries = new ArrayList ( gaa.length );
 +            for ( int i = 0, n = gaa.length; i < n; i++ ) {
 +                entries.add ( gaa[i] );
 +            }
 +            return entries;
 +        }
 +        /** {@inheritDoc} */
 +        public int[] getAlternatesForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
 +            if ( gaa == null ) {
 +                return null;
 +            } else if ( ci >= gaa.length ) {
 +                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + gaa.length );
 +            } else {
 +                return gaa [ ci ];
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            int i = 0, n = entries.size();
 +            int[][] gaa = new int [ n ][];
 +            for ( Iterator it = entries.iterator(); it.hasNext();) {
 +                Object o = it.next();
 +                if ( o instanceof int[] ) {
 +                    gaa [ i++ ] = (int[]) o;
 +                } else {
 +                    throw new IllegalArgumentException ( "illegal entries entry, must be int[]: " + o );
 +                }
 +            }
 +            assert i == n;
 +            assert this.gaa == null;
 +            this.gaa = gaa;
 +        }
 +    }
 +
 +    private abstract static class LigatureSubtable extends GlyphSubstitutionSubtable {
 +        public LigatureSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_LIGATURE;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof LigatureSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean substitute ( GlyphSubstitutionState ss ) {
 +            int gi = ss.getGlyph(), ci;
 +            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
 +                return false;
 +            } else {
 +                LigatureSet ls = getLigatureSetForCoverageIndex ( ci, gi );
 +                if ( ls != null ) { 
 +                    boolean reverse = false;
 +                    GlyphTester ignores = ss.getIgnoreDefault();
 +                    int[] counts = ss.getGlyphsAvailable ( 0, reverse, ignores );
 +                    int nga = counts[0], ngi;
 +                    if ( nga > 1 ) {
 +                        int[] iga = ss.getGlyphs ( 0, nga, reverse, ignores, null, counts );
 +                        Ligature l = findLigature ( ls, iga );
 +                        if ( l != null ) {
 +                            int go = l.getLigature();
 +                            if ( ( go < 0 ) || ( go > 65535 ) ) {
 +                                go = 65535;
 +                            }
 +                            int nmg = 1 + l.getNumComponents();
 +                            // fetch matched number of component glyphs to determine matched and ignored count
 +                            ss.getGlyphs ( 0, nmg, reverse, ignores, null, counts );
 +                            nga = counts[0];
 +                            ngi = counts[1];
 +                            // fetch associations of matched component glyphs
 +                            GlyphSequence.CharAssociation[] laa = ss.getAssociations ( 0, nga );
 +                            // output ligature glyph and its association
 +                            ss.putGlyph ( go, GlyphSequence.CharAssociation.join ( laa ) );
 +                            // fetch and output ignored glyphs (if necessary)
 +                            if ( ngi > 0 ) {
 +                                ss.putGlyphs ( ss.getIgnoredGlyphs ( 0, ngi ), ss.getIgnoredAssociations ( 0, ngi ) );
 +                            }
 +                            ss.consume ( nga + ngi );
 +                        }
 +                    }
 +                }
 +                return true;
 +            }
 +        }
 +        private Ligature findLigature ( LigatureSet ls, int[] glyphs ) {
 +            Ligature[] la = ls.getLigatures();
 +            int k = -1;
 +            int maxComponents = -1;
 +            for ( int i = 0, n = la.length; i < n; i++ ) {
 +                Ligature l = la [ i ];
 +                if ( l.matchesComponents ( glyphs ) ) {
 +                    int nc = l.getNumComponents();
 +                    if ( nc > maxComponents ) {
 +                        maxComponents = nc;
 +                        k = i;
 +                    }
 +                }
 +            }
 +            if ( k >= 0 ) {
 +                return la [ k ];
 +            } else {
 +                return null;
 +            }
 +        }
 +        /**
 +         * Obtain ligature set for coverage index.
 +         * @param ci coverage index
 +         * @param gi original glyph index
 +         * @return ligature set (or null if none defined)
 +         * @throws IllegalArgumentException if coverage index is not valid
 +         */
 +        public abstract LigatureSet getLigatureSetForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException;
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new LigatureSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class LigatureSubtableFormat1 extends LigatureSubtable {
 +        private LigatureSet[] ligatureSets;
 +        public LigatureSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            List entries = new ArrayList ( ligatureSets.length );
 +            for ( int i = 0, n = ligatureSets.length; i < n; i++ ) {
 +                entries.add ( ligatureSets[i] );
 +            }
 +            return entries;
 +        }
 +        /** {@inheritDoc} */
 +        public LigatureSet getLigatureSetForCoverageIndex ( int ci, int gi ) throws IllegalArgumentException {
 +            if ( ligatureSets == null ) {
 +                return null;
 +            } else if ( ci >= ligatureSets.length ) {
 +                throw new IllegalArgumentException ( "coverage index " + ci + " out of range, maximum coverage index is " + ligatureSets.length );
 +            } else {
 +                return ligatureSets [ ci ];
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            int i = 0, n = entries.size();
 +            LigatureSet[] ligatureSets = new LigatureSet [ n ];
 +            for ( Iterator it = entries.iterator(); it.hasNext();) {
 +                Object o = it.next();
 +                if ( o instanceof LigatureSet ) {
 +                    ligatureSets [ i++ ] = (LigatureSet) o;
 +                } else {
 +                    throw new IllegalArgumentException ( "illegal ligatures entry, must be LigatureSet: " + o );
 +                }
 +            }
 +            assert i == n;
 +            assert this.ligatureSets == null;
 +            this.ligatureSets = ligatureSets;
 +        }
 +    }
 +
 +    private abstract static class ContextualSubtable extends GlyphSubstitutionSubtable {
 +        public ContextualSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_CONTEXTUAL;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof ContextualSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean substitute ( GlyphSubstitutionState ss ) {
 +            int gi = ss.getGlyph(), ci;
 +            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
 +                return false;
 +            } else {
 +                int[] rv = new int[1];
 +                RuleLookup[] la = getLookups ( ci, gi, ss, rv );
 +                if ( la != null ) {
 +                    ss.apply ( la, rv[0] );
 +                }
 +                return true;
 +            }
 +        }
 +        /**
 +         * Obtain rule lookups set associated current input glyph context.
 +         * @param ci coverage index of glyph at current position
 +         * @param gi glyph index of glyph at current position
 +         * @param ss glyph substitution state
 +         * @param rv array of ints used to receive multiple return values, must be of length 1 or greater,
 +         * where the first entry is used to return the input sequence length of the matched rule
 +         * @return array of rule lookups or null if none applies
 +         */
 +        public abstract RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv );
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new ContextualSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else if ( format == 2 ) {
 +                return new ContextualSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
 +            } else if ( format == 3 ) {
 +                return new ContextualSubtableFormat3 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class ContextualSubtableFormat1 extends ContextualSubtable {
 +        private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
 +        ContextualSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( rsa != null ) {
 +                List entries = new ArrayList ( 1 );
 +                entries.add ( rsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
 +            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
 +        }
 +        /** {@inheritDoc} */
 +        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
 +            assert ss != null;
 +            assert ( rv != null ) && ( rv.length > 0 );
 +            assert rsa != null;
 +            if ( rsa.length > 0 ) {
 +                RuleSet rs = rsa [ 0 ];
 +                if ( rs != null ) {
 +                    Rule[] ra = rs.getRules();
 +                    for ( int i = 0, n = ra.length; i < n; i++ ) {
 +                        Rule r = ra [ i ];
 +                        if ( ( r != null ) && ( r instanceof ChainedGlyphSequenceRule ) ) {
 +                            ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
 +                            int[] iga = cr.getGlyphs ( gi );
 +                            if ( matches ( ss, iga, 0, rv ) ) {
 +                                return r.getLookups();
 +                            }
 +                        }
 +                    }
 +                }
 +            }
 +            return null;
 +        }
 +        static boolean matches ( GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv ) {
 +            if ( ( glyphs == null ) || ( glyphs.length == 0 ) ) {
 +                return true;                            // match null or empty glyph sequence
 +            } else {
 +                boolean reverse = offset < 0;
 +                GlyphTester ignores = ss.getIgnoreDefault();
 +                int[] counts = ss.getGlyphsAvailable ( offset, reverse, ignores );
 +                int nga = counts[0];
 +                int ngm = glyphs.length;
 +                if ( nga < ngm ) {
 +                    return false;                       // insufficient glyphs available to match
 +                } else {
 +                    int[] ga = ss.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
 +                    for ( int k = 0; k < ngm; k++ ) {
 +                        if ( ga [ k ] != glyphs [ k ] ) {
 +                            return false;               // match fails at ga [ k ]
 +                        }
 +                    }
 +                    if ( rv != null ) {
 +                        rv[0] = counts[0] + counts[1];
 +                    }
 +                    return true;                        // all glyphs match
 +                }
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 1 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    rsa = (RuleSet[]) o;
 +                }
 +            }
 +        }
 +    }
 +
 +    private static class ContextualSubtableFormat2 extends ContextualSubtable {
 +        private GlyphClassTable cdt;                    // class def table
 +        private int ngc;                                // class set count
 +        private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
 +        ContextualSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( rsa != null ) {
 +                List entries = new ArrayList ( 3 );
 +                entries.add ( cdt );
 +                entries.add ( Integer.valueOf ( ngc ) );
 +                entries.add ( rsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
 +            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
 +        }
 +        /** {@inheritDoc} */
 +        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
 +            assert ss != null;
 +            assert ( rv != null ) && ( rv.length > 0 );
 +            assert rsa != null;
 +            if ( rsa.length > 0 ) {
 +                RuleSet rs = rsa [ 0 ];
 +                if ( rs != null ) {
 +                    Rule[] ra = rs.getRules();
 +                    for ( int i = 0, n = ra.length; i < n; i++ ) {
 +                        Rule r = ra [ i ];
 +                        if ( ( r != null ) && ( r instanceof ChainedClassSequenceRule ) ) {
 +                            ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
 +                            int[] ca = cr.getClasses ( cdt.getClassIndex ( gi, ss.getClassMatchSet ( gi ) ) );
 +                            if ( matches ( ss, cdt, ca, 0, rv ) ) {
 +                                return r.getLookups();
 +                            }
 +                        }
 +                    }
 +                }
 +            }
 +            return null;
 +        }
 +        static boolean matches ( GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv ) {
 +            if ( ( cdt == null ) || ( classes == null ) || ( classes.length == 0 ) ) {
 +                return true;                            // match null class definitions, null or empty class sequence
 +            } else {
 +                boolean reverse = offset < 0;
 +                GlyphTester ignores = ss.getIgnoreDefault();
 +                int[] counts = ss.getGlyphsAvailable ( offset, reverse, ignores );
 +                int nga = counts[0];
 +                int ngm = classes.length;
 +                if ( nga < ngm ) {
 +                    return false;                       // insufficient glyphs available to match
 +                } else {
 +                    int[] ga = ss.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
 +                    for ( int k = 0; k < ngm; k++ ) {
 +                        int gi = ga [ k ];
 +                        int ms = ss.getClassMatchSet ( gi );
 +                        int gc = cdt.getClassIndex ( gi, ms );
 +                        if ( ( gc < 0 ) || ( gc >= cdt.getClassSize ( ms ) ) ) {
 +                            return false;               // none or invalid class fails mat ch
 +                        } else if ( gc != classes [ k ] ) {
 +                            return false;               // match fails at ga [ k ]
 +                        }
 +                    }
 +                    if ( rv != null ) {
 +                        rv[0] = counts[0] + counts[1];
 +                    }
 +                    return true;                        // all glyphs match
 +                }
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 3 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 3 entries" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    cdt = (GlyphClassTable) o;
 +                }
 +                if ( ( ( o = entries.get(1) ) == null ) || ! ( o instanceof Integer ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, second entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    ngc = ((Integer)(o)).intValue();
 +                }
 +                if ( ( ( o = entries.get(2) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, third entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    rsa = (RuleSet[]) o;
 +                    if ( rsa.length != ngc ) {
 +                        throw new IllegalArgumentException ( "illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes" );
 +                    }
 +                }
 +            }
 +        }
 +    }
 +
 +    private static class ContextualSubtableFormat3 extends ContextualSubtable {
 +        private RuleSet[] rsa;                          // rule set array, containing a single rule set
 +        ContextualSubtableFormat3 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( rsa != null ) {
 +                List entries = new ArrayList ( 1 );
 +                entries.add ( rsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
 +            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
 +        }
 +        /** {@inheritDoc} */
 +        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
 +            assert ss != null;
 +            assert ( rv != null ) && ( rv.length > 0 );
 +            assert rsa != null;
 +            if ( rsa.length > 0 ) {
 +                RuleSet rs = rsa [ 0 ];
 +                if ( rs != null ) {
 +                    Rule[] ra = rs.getRules();
 +                    for ( int i = 0, n = ra.length; i < n; i++ ) {
 +                        Rule r = ra [ i ];
 +                        if ( ( r != null ) && ( r instanceof ChainedCoverageSequenceRule ) ) {
 +                            ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
 +                            GlyphCoverageTable[] gca = cr.getCoverages();
 +                            if ( matches ( ss, gca, 0, rv ) ) {
 +                                return r.getLookups();
 +                            }
 +                        }
 +                    }
 +                }
 +            }
 +            return null;
 +        }
 +        static boolean matches ( GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv ) {
 +            if ( ( gca == null ) || ( gca.length == 0 ) ) {
 +                return true;                            // match null or empty coverage array
 +            } else {
 +                boolean reverse = offset < 0;
 +                GlyphTester ignores = ss.getIgnoreDefault();
 +                int[] counts = ss.getGlyphsAvailable ( offset, reverse, ignores );
 +                int nga = counts[0];
 +                int ngm = gca.length;
 +                if ( nga < ngm ) {
 +                    return false;                       // insufficient glyphs available to match
 +                } else {
 +                    int[] ga = ss.getGlyphs ( offset, ngm, reverse, ignores, null, counts );
 +                    for ( int k = 0; k < ngm; k++ ) {
 +                        GlyphCoverageTable ct = gca [ k ];
 +                        if ( ct != null ) {
 +                            if ( ct.getCoverageIndex ( ga [ k ] ) < 0 ) {
 +                                return false;           // match fails at ga [ k ]
 +                            }
 +                        }
 +                    }
 +                    if ( rv != null ) {
 +                        rv[0] = counts[0] + counts[1];
 +                    }
 +                    return true;                        // all glyphs match
 +                }
 +            }
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 1 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    rsa = (RuleSet[]) o;
 +                }
 +            }
 +        }
 +    }
 +
 +    private abstract static class ChainedContextualSubtable extends GlyphSubstitutionSubtable {
 +        public ChainedContextualSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_CHAINED_CONTEXTUAL;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof ChainedContextualSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean substitute ( GlyphSubstitutionState ss ) {
 +            int gi = ss.getGlyph(), ci;
 +            if ( ( ci = getCoverageIndex ( gi ) ) < 0 ) {
 +                return false;
 +            } else {
 +                int[] rv = new int[1];
 +                RuleLookup[] la = getLookups ( ci, gi, ss, rv );
 +                if ( la != null ) {
 +                    ss.apply ( la, rv[0] );
 +                    return true;
 +                } else {
 +                    return false;
 +                }
 +            }
 +        }
 +        /**
 +         * Obtain rule lookups set associated current input glyph context.
 +         * @param ci coverage index of glyph at current position
 +         * @param gi glyph index of glyph at current position
 +         * @param ss glyph substitution state
 +         * @param rv array of ints used to receive multiple return values, must be of length 1 or greater
 +         * @return array of rule lookups or null if none applies
 +         */
 +        public abstract RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv );
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new ChainedContextualSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else if ( format == 2 ) {
 +                return new ChainedContextualSubtableFormat2 ( id, sequence, flags, format, coverage, entries );
 +            } else if ( format == 3 ) {
 +                return new ChainedContextualSubtableFormat3 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class ChainedContextualSubtableFormat1 extends ChainedContextualSubtable {
 +        private RuleSet[] rsa;                          // rule set array, ordered by glyph coverage index
 +        ChainedContextualSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( rsa != null ) {
 +                List entries = new ArrayList ( 1 );
 +                entries.add ( rsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
 +            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
 +        }
 +        /** {@inheritDoc} */
 +        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
 +            assert ss != null;
 +            assert ( rv != null ) && ( rv.length > 0 );
 +            assert rsa != null;
 +            if ( rsa.length > 0 ) {
 +                RuleSet rs = rsa [ 0 ];
 +                if ( rs != null ) {
 +                    Rule[] ra = rs.getRules();
 +                    for ( int i = 0, n = ra.length; i < n; i++ ) {
 +                        Rule r = ra [ i ];
 +                        if ( ( r != null ) && ( r instanceof ChainedGlyphSequenceRule ) ) {
 +                            ChainedGlyphSequenceRule cr = (ChainedGlyphSequenceRule) r;
 +                            int[] iga = cr.getGlyphs ( gi );
 +                            if ( matches ( ss, iga, 0, rv ) ) {
 +                                int[] bga = cr.getBacktrackGlyphs();
 +                                if ( matches ( ss, bga, -1, null ) ) {
 +                                    int[] lga = cr.getLookaheadGlyphs();
 +                                    if ( matches ( ss, lga, rv[0], null ) ) {
 +                                        return r.getLookups();
 +                                    }
 +                                }
 +                            }
 +                        }
 +                    }
 +                }
 +            }
 +            return null;
 +        }
 +        private boolean matches ( GlyphSubstitutionState ss, int[] glyphs, int offset, int[] rv ) {
 +            return ContextualSubtableFormat1.matches ( ss, glyphs, offset, rv );
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 1 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    rsa = (RuleSet[]) o;
 +                }
 +            }
 +        }
 +    }
 +
 +    private static class ChainedContextualSubtableFormat2 extends ChainedContextualSubtable {
 +        private GlyphClassTable icdt;                   // input class def table
 +        private GlyphClassTable bcdt;                   // backtrack class def table
 +        private GlyphClassTable lcdt;                   // lookahead class def table
 +        private int ngc;                                // class set count
 +        private RuleSet[] rsa;                          // rule set array, ordered by class number [0...ngc - 1]
 +        ChainedContextualSubtableFormat2 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( rsa != null ) {
 +                List entries = new ArrayList ( 5 );
 +                entries.add ( icdt );
 +                entries.add ( bcdt );
 +                entries.add ( lcdt );
 +                entries.add ( Integer.valueOf ( ngc ) );
 +                entries.add ( rsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
 +            assert ss != null;
 +            assert ( rv != null ) && ( rv.length > 0 );
 +            assert rsa != null;
 +            if ( rsa.length > 0 ) {
 +                RuleSet rs = rsa [ 0 ];
 +                if ( rs != null ) {
 +                    Rule[] ra = rs.getRules();
 +                    for ( int i = 0, n = ra.length; i < n; i++ ) {
 +                        Rule r = ra [ i ];
 +                        if ( ( r != null ) && ( r instanceof ChainedClassSequenceRule ) ) {
 +                            ChainedClassSequenceRule cr = (ChainedClassSequenceRule) r;
 +                            int[] ica = cr.getClasses ( icdt.getClassIndex ( gi, ss.getClassMatchSet ( gi ) ) );
 +                            if ( matches ( ss, icdt, ica, 0, rv ) ) {
 +                                int[] bca = cr.getBacktrackClasses();
 +                                if ( matches ( ss, bcdt, bca, -1, null ) ) {
 +                                    int[] lca = cr.getLookaheadClasses();
 +                                    if ( matches ( ss, lcdt, lca, rv[0], null ) ) {
 +                                        return r.getLookups();
 +                                    }
 +                                }
 +                            }
 +                        }
 +                    }
 +                }
 +            }
 +            return null;
 +        }
 +        private boolean matches ( GlyphSubstitutionState ss, GlyphClassTable cdt, int[] classes, int offset, int[] rv ) {
 +            return ContextualSubtableFormat2.matches ( ss, cdt, classes, offset, rv );
 +        }
 +        /** {@inheritDoc} */
 +        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
 +            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 5 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 5 entries" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof GlyphClassTable ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an GlyphClassTable, but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    icdt = (GlyphClassTable) o;
 +                }
 +                if ( ( ( o = entries.get(1) ) != null ) && ! ( o instanceof GlyphClassTable ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, second entry must be an GlyphClassTable, but is: " + o.getClass() );
 +                } else {
 +                    bcdt = (GlyphClassTable) o;
 +                }
 +                if ( ( ( o = entries.get(2) ) != null ) && ! ( o instanceof GlyphClassTable ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, third entry must be an GlyphClassTable, but is: " + o.getClass() );
 +                } else {
 +                    lcdt = (GlyphClassTable) o;
 +                }
 +                if ( ( ( o = entries.get(3) ) == null ) || ! ( o instanceof Integer ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, fourth entry must be an Integer, but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    ngc = ((Integer)(o)).intValue();
 +                }
 +                if ( ( ( o = entries.get(4) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, fifth entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    rsa = (RuleSet[]) o;
 +                    if ( rsa.length != ngc ) {
 +                        throw new IllegalArgumentException ( "illegal entries, RuleSet[] length is " + rsa.length + ", but expected " + ngc + " glyph classes" );
 +                    }
 +                }
 +            }
 +        }
 +    }
 +
 +    private static class ChainedContextualSubtableFormat3 extends ChainedContextualSubtable {
 +        private RuleSet[] rsa;                          // rule set array, containing a single rule set
 +        ChainedContextualSubtableFormat3 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            if ( rsa != null ) {
 +                List entries = new ArrayList ( 1 );
 +                entries.add ( rsa );
 +                return entries;
 +            } else {
 +                return null;
 +            }
 +        }
 +        /** {@inheritDoc} */
 +        public void resolveLookupReferences ( Map/*<String,LookupTable>*/ lookupTables ) {
 +            GlyphTable.resolveLookupReferences ( rsa, lookupTables );
 +        }
 +        /** {@inheritDoc} */
 +        public RuleLookup[] getLookups ( int ci, int gi, GlyphSubstitutionState ss, int[] rv  ) {
 +            assert ss != null;
 +            assert ( rv != null ) && ( rv.length > 0 );
 +            assert rsa != null;
 +            if ( rsa.length > 0 ) {
 +                RuleSet rs = rsa [ 0 ];
 +                if ( rs != null ) {
 +                    Rule[] ra = rs.getRules();
 +                    for ( int i = 0, n = ra.length; i < n; i++ ) {
 +                        Rule r = ra [ i ];
 +                        if ( ( r != null ) && ( r instanceof ChainedCoverageSequenceRule ) ) {
 +                            ChainedCoverageSequenceRule cr = (ChainedCoverageSequenceRule) r;
 +                            GlyphCoverageTable[] igca = cr.getCoverages();
 +                            if ( matches ( ss, igca, 0, rv ) ) {
 +                                GlyphCoverageTable[] bgca = cr.getBacktrackCoverages();
 +                                if ( matches ( ss, bgca, -1, null ) ) {
 +                                    GlyphCoverageTable[] lgca = cr.getLookaheadCoverages();
 +                                    if ( matches ( ss, lgca, rv[0], null ) ) {
 +                                        return r.getLookups();
 +                                    }
 +                                }
 +                            }
 +                        }
 +                    }
 +                }
 +            }
 +            return null;
 +        }
 +        private boolean matches ( GlyphSubstitutionState ss, GlyphCoverageTable[] gca, int offset, int[] rv ) {
 +            return ContextualSubtableFormat3.matches ( ss, gca, offset, rv );
 +        }
 +        private void populate ( List entries ) {
 +            if ( entries == null ) {
 +                throw new IllegalArgumentException ( "illegal entries, must be non-null" );
 +            } else if ( entries.size() != 1 ) {
 +                throw new IllegalArgumentException ( "illegal entries, " + entries.size() + " entries present, but requires 1 entry" );
 +            } else {
 +                Object o;
 +                if ( ( ( o = entries.get(0) ) == null ) || ! ( o instanceof RuleSet[] ) ) {
 +                    throw new IllegalArgumentException ( "illegal entries, first entry must be an RuleSet[], but is: " + ( ( o != null ) ? o.getClass() : null ) );
 +                } else {
 +                    rsa = (RuleSet[]) o;
 +                }
 +            }
 +        }
 +    }
 +
 +    private abstract static class ReverseChainedSingleSubtable extends GlyphSubstitutionSubtable {
 +        public ReverseChainedSingleSubtable ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage );
 +        }
 +        /** {@inheritDoc} */
 +        public int getType() {
 +            return GSUB_LOOKUP_TYPE_REVERSE_CHAINED_SINGLE;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean isCompatible ( GlyphSubtable subtable ) {
 +            return subtable instanceof ReverseChainedSingleSubtable;
 +        }
 +        /** {@inheritDoc} */
 +        public boolean usesReverseScan() {
 +            return true;
 +        }
 +        static GlyphSubstitutionSubtable create ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            if ( format == 1 ) {
 +                return new ReverseChainedSingleSubtableFormat1 ( id, sequence, flags, format, coverage, entries );
 +            } else {
 +                throw new UnsupportedOperationException();
 +            }
 +        }
 +    }
 +
 +    private static class ReverseChainedSingleSubtableFormat1 extends ReverseChainedSingleSubtable {
 +        ReverseChainedSingleSubtableFormat1 ( String id, int sequence, int flags, int format, GlyphCoverageTable coverage, List entries ) {
 +            super ( id, sequence, flags, format, coverage, entries );
 +            populate ( entries );
 +        }
 +        /** {@inheritDoc} */
 +        public List getEntries() {
 +            return null;
 +        }
 +        private void populate ( List entries ) {
 +        }
 +    }
 +
 +    /**
 +     * The <code>Ligature</code> class implements a ligature lookup result in terms of
 +     * a ligature glyph (code) and the <emph>N+1...</emph> components that comprise the ligature,
 +     * where the <emph>Nth</emph> component was consumed in the coverage table lookup mapping to
 +     * this ligature instance.
 +     */
 +    public static class Ligature {
 +
 +        private final int ligature;                     // (resulting) ligature glyph 
 +        private final int[] components;                 // component glyph codes (note that first component is implied)
 +
 +        /**
 +         * Instantiate a ligature.
 +         * @param ligature glyph id
 +         * @param components sequence of <emph>N+1...</emph> component glyph (or character) identifiers
 +         */
 +        public Ligature ( int ligature, int[] components ) {
 +            if ( ( ligature < 0 ) || ( ligature > 65535 ) ) {
 +                throw new IllegalArgumentException ( "invalid ligature glyph index: " + ligature );
 +            } else if ( ( components == null ) || ( components.length == 0 ) ) {
 +                throw new IllegalArgumentException ( "invalid ligature components, must be non-empty array" );
 +            } else {
 +                for ( int i = 0, n = components.length; i < n; i++ ) {
 +                    int gc = components [ i ];
 +                    if ( ( gc < 0 ) || ( gc > 65535 ) ) {
 +                        throw new IllegalArgumentException ( "invalid component glyph index: " + gc );
 +                    }
 +                }
 +                this.ligature = ligature;
 +                this.components = components;
 +            }
 +        }
 +
 +        /** @return ligature glyph id */
 +        public int getLigature() {
 +            return ligature;
 +        }
 +
 +        /** @return array of <emph>N+1...</emph> components */
 +        public int[] getComponents() {
 +            return components;
 +        }
 +
 +        /** @return components count */
 +        public int getNumComponents() {
 +            return components.length;
 +        }
 +
 +        /**
 +         * Determine if input sequence at offset matches ligature's components.
 +         * @param glyphs array of glyph components to match (including first, implied glyph)
 +         * @return true if matches
 +         */
 +        public boolean matchesComponents ( int[] glyphs ) {
 +            if ( glyphs.length < ( components.length + 1 ) ) {
 +                return false;
 +            } else {
 +                for ( int i = 0, n = components.length; i < n; i++ ) {
 +                    if ( glyphs [ i + 1 ] != components [ i ] ) {
 +                        return false;
 +                    }
 +                }
 +                return true;
 +            }
 +        }
 +
 +        /** {@inheritDoc} */
 +        public String toString() {
 +            StringBuffer sb = new StringBuffer();
 +            sb.append("{components={");
 +            for ( int i = 0, n = components.length; i < n; i++ ) {
 +                if ( i > 0 ) {
 +                    sb.append(',');
 +                }
 +                sb.append(Integer.toString(components[i]));
 +            }
 +            sb.append("},ligature=");
 +            sb.append(Integer.toString(ligature));
 +            sb.append("}");
 +            return sb.toString();
 +        }
 +
 +    }
 +
 +    /**
 +     * The <code>LigatureSet</code> class implements a set of  ligatures.
 +     */
 +    public static class LigatureSet {
 +
 +        private final Ligature[] ligatures;                     // set of ligatures all of which share the first (implied) component
 +        private final int maxComponents;                        // maximum number of components (including first)
 +
 +        /**
 +         * Instantiate a set of ligatures.
 +         * @param ligatures collection of ligatures
 +         */
 +        public LigatureSet ( List ligatures ) {
 +            this ( (Ligature[]) ligatures.toArray ( new Ligature [ ligatures.size() ] ) );
 +        }
 +
 +        /**
 +         * Instantiate a set of ligatures.
 +         * @param ligatures array of ligatures
 +         */
 +        public LigatureSet ( Ligature[] ligatures ) {
 +            if ( ( ligatures == null ) || ( ligatures.length == 0 ) ) {
 +                throw new IllegalArgumentException ( "invalid ligatures, must be non-empty array" );
 +            } else {
 +                this.ligatures = ligatures;
 +                int ncMax = -1;
 +                for ( int i = 0, n = ligatures.length; i < n; i++ ) {
 +                    Ligature l = ligatures [ i ];
 +                    int nc = l.getNumComponents() + 1;
 +                    if ( nc > ncMax ) {
 +                        ncMax = nc;
 +                    }
 +                }
 +                maxComponents = ncMax;
 +            }
 +        }
 +
 +        /** @return array of ligatures in this ligature set */
 +        public Ligature[] getLigatures() {
 +            return ligatures;
 +        }
 +
 +        /** @return count of ligatures in this ligature set */
 +        public int getNumLigatures() {
 +            return ligatures.length;
 +        }
 +
 +        /** @return maximum number of components in one ligature (including first component) */
 +        public int getMaxComponents() {
 +            return maxComponents;
 +        }
 +
 +        /** {@inheritDoc} */
 +        public String toString() {
 +            StringBuffer sb = new StringBuffer();
 +            sb.append("{ligs={");
 +            for ( int i = 0, n = ligatures.length; i < n; i++ ) {
 +                if ( i > 0 ) {
 +                    sb.append(',');
 +                }
 +                sb.append(ligatures[i]);
 +            }
 +            sb.append("}}");
 +            return sb.toString();
 +        }
 +
 +    }
 +
 +}
 +
index c99f6c16b7aba6a133c1bc8f5cbcbd4a340c22cc,661f6ec80cbdecbd9b6cb1e556cf6fc32384f065..c55df8ae84c0c627a024a7c045504e729993a289
@@@ -560,13 -536,38 +538,39 @@@ public class LineLayoutManager extends 
          follow = f;
      }
  
+     /** {@inheritDoc} */
+     public void initialize() {
++        bidiLevel = fobj.getBidiLevel();
+         textAlignment = fobj.getTextAlign();
+         textAlignmentLast = fobj.getTextAlignLast();
+         textIndent = fobj.getTextIndent();
+         lastLineEndIndent = fobj.getLastLineEndIndent();
+         hyphenationProperties = fobj.getCommonHyphenation();
+         hyphenationLadderCount = fobj.getHyphenationLadderCount();
+         wrapOption = fobj.getWrapOption();
+         whiteSpaceTreament = fobj.getWhitespaceTreatment();
+         //
+         effectiveAlignment = getEffectiveAlignment(textAlignment, textAlignmentLast);
+         isFirstInBlock = (this == getParent().getChildLMs().get(0));
+     }
+     private int getEffectiveAlignment(int alignment, int alignmentLast) {
+         if (textAlignment != EN_JUSTIFY && textAlignmentLast == EN_JUSTIFY) {
+             return 0;
+         } else {
+             return textAlignment;
+         }
+     }
      /** {@inheritDoc} */
      public List getNextKnuthElements(LayoutContext context, int alignment) {
-         FontInfo fi = fobj.getFOEventHandler().getFontInfo();
-         FontTriplet[] fontkeys = fobj.getCommonFont().getFontState(fi);
-         Font fs = fi.getFontInstance(fontkeys[0], fobj.getCommonFont().fontSize.getValue(this));
-         alignmentContext = new AlignmentContext(fs, lineHeight.getValue(this),
-                 context.getWritingMode());
+         if (alignmentContext == null) {
+             FontInfo fi = fobj.getFOEventHandler().getFontInfo();
+             FontTriplet[] fontkeys = fobj.getCommonFont().getFontState(fi);
+             Font fs = fi.getFontInstance(fontkeys[0], fobj.getCommonFont().fontSize.getValue(this));
+             alignmentContext = new AlignmentContext(fs, lineHeight.getValue(this),
+                     context.getWritingMode());
+         }
          context.setAlignmentContext(alignmentContext);
          ipd = context.getRefIPD();