fix for TIKA-3395 contributed by kamaci (#438)

Thank you @kamaci!
diff --git a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
index c4befeb..c110a6d 100644
--- a/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
+++ b/tika-app/src/main/java/org/apache/tika/cli/TikaCLI.java
@@ -1157,7 +1157,7 @@
         }
     }
 
-    private class NoDocumentMetHandler extends DefaultHandler {
+    private static class NoDocumentMetHandler extends DefaultHandler {
 
         protected final Metadata metadata;
 
@@ -1197,7 +1197,7 @@
     /**
      * Outputs the Tika metadata as XMP using the Tika XMP module
      */
-    private class NoDocumentXMPMetaHandler extends DefaultHandler
+    private static class NoDocumentXMPMetaHandler extends DefaultHandler
     {
     	protected final Metadata metadata;
     	
diff --git a/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java b/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java
index 5ab60c1..b9287ca 100644
--- a/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java
+++ b/tika-batch/src/main/java/org/apache/tika/batch/BatchProcess.java
@@ -527,7 +527,7 @@
         TIMED_OUT_CONSUMER, PARENT_SHUTDOWN, BATCH_PROCESS_ALIVE_TOO_LONG,
     }
 
-    private class State {
+    private static class State {
         long start = -1;
         int numConsumers = 0;
         int numNonConsumers = 0;
@@ -568,7 +568,7 @@
         }
     }
 
-    private class TimeoutFutureResult implements IFileProcessorFutureResult {
+    private static class TimeoutFutureResult implements IFileProcessorFutureResult {
         //used to be used when more than one timeout was allowed
         //TODO: get rid of this?
         private final int timedOutCount;
diff --git a/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java b/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java
index c43ee70..3fa52a3 100644
--- a/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java
+++ b/tika-batch/src/main/java/org/apache/tika/batch/fs/FSDirectoryCrawler.java
@@ -150,7 +150,7 @@
     //simple lexical order for the file name, we don't really care about localization.
     //we do want this, though, because file.compareTo behaves differently
     //on different OS's.
-    private class FileNameComparator implements Comparator<Path> {
+    private static class FileNameComparator implements Comparator<Path> {
 
         @Override
         public int compare(Path f1, Path f2) {
diff --git a/tika-batch/src/main/java/org/apache/tika/batch/fs/StreamOutRPWFSConsumer.java b/tika-batch/src/main/java/org/apache/tika/batch/fs/StreamOutRPWFSConsumer.java
index 2508c46..03c3ba1 100644
--- a/tika-batch/src/main/java/org/apache/tika/batch/fs/StreamOutRPWFSConsumer.java
+++ b/tika-batch/src/main/java/org/apache/tika/batch/fs/StreamOutRPWFSConsumer.java
@@ -133,7 +133,7 @@
     //if we use the ForkParser, the output will not have to be streamed
     //back to the proxy, but can
     //be written straight to disk.
-    private class WriteoutRPWHandler extends AbstractRecursiveParserWrapperHandler {
+    private static class WriteoutRPWHandler extends AbstractRecursiveParserWrapperHandler {
         private final JsonStreamingSerializer jsonWriter;
         private final MetadataFilter metadataFilter;
 
diff --git a/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java b/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java
index 797c32c..7a64327 100644
--- a/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java
+++ b/tika-batch/src/test/java/org/apache/tika/batch/RecursiveParserWrapperFSConsumerTest.java
@@ -144,7 +144,7 @@
     }
 
 
-    private class MockOSFactory implements OutputStreamFactory {
+    private static class MockOSFactory implements OutputStreamFactory {
         List<ByteArrayOutputStream> streams = new ArrayList<>();
 
         @Override
diff --git a/tika-batch/src/test/java/org/apache/tika/batch/fs/BatchProcessTest.java b/tika-batch/src/test/java/org/apache/tika/batch/fs/BatchProcessTest.java
index dc4408a..5906d4e 100644
--- a/tika-batch/src/test/java/org/apache/tika/batch/fs/BatchProcessTest.java
+++ b/tika-batch/src/test/java/org/apache/tika/batch/fs/BatchProcessTest.java
@@ -395,7 +395,7 @@
 
     }
 
-    private class StreamStrings {
+    private static class StreamStrings {
         private final String outString;
         private final String errString;
 
diff --git a/tika-core/src/main/java/org/apache/tika/parser/RecursiveParserWrapper.java b/tika-core/src/main/java/org/apache/tika/parser/RecursiveParserWrapper.java
index ca09477..e2a9251 100644
--- a/tika-core/src/main/java/org/apache/tika/parser/RecursiveParserWrapper.java
+++ b/tika-core/src/main/java/org/apache/tika/parser/RecursiveParserWrapper.java
@@ -272,7 +272,7 @@
      * This tracks the state of the parse of a single document.
      * In future versions, this will allow the RecursiveParserWrapper to be thread safe.
      */
-    private class ParserState {
+    private static class ParserState {
         private final AbstractRecursiveParserWrapperHandler recursiveParserWrapperHandler;
         private int unknownCount = 0;
 
@@ -281,7 +281,7 @@
         }
     }
 
-    private class RecursivelySecureContentHandler extends SecureContentHandler {
+    private static class RecursivelySecureContentHandler extends SecureContentHandler {
         private ContentHandler handler;
 
         //total allowable chars across all handlers
diff --git a/tika-core/src/test/java/org/apache/tika/MultiThreadedTikaTest.java b/tika-core/src/test/java/org/apache/tika/MultiThreadedTikaTest.java
index 13c65cf..54e32ce 100644
--- a/tika-core/src/test/java/org/apache/tika/MultiThreadedTikaTest.java
+++ b/tika-core/src/test/java/org/apache/tika/MultiThreadedTikaTest.java
@@ -378,7 +378,7 @@
         }
     }
 
-    private class SAXPoolResizer implements Callable<Integer> {
+    private static class SAXPoolResizer implements Callable<Integer> {
         private final int maxResize;
         private final Random rand = new Random();
 
@@ -404,7 +404,7 @@
         }
     }
 
-    private class TikaDetectorRunner implements Callable<Integer> {
+    private static class TikaDetectorRunner implements Callable<Integer> {
         private final Detector detector;
         private final int iterations;
         private final Path[] files;
diff --git a/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java b/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java
index 6262a36..aaae0b6 100644
--- a/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java
+++ b/tika-core/src/test/java/org/apache/tika/TestRereadableInputStream.java
@@ -180,7 +180,7 @@
     /**
      * Adds isClosed() to a BufferedInputStream.
      */
-    class TestInputStream extends BufferedInputStream {
+    static class TestInputStream extends BufferedInputStream {
 
         private boolean closed;
 
diff --git a/tika-core/src/test/java/org/apache/tika/config/MockConfigTest.java b/tika-core/src/test/java/org/apache/tika/config/MockConfigTest.java
index 8cb3773..ed484b6 100644
--- a/tika-core/src/test/java/org/apache/tika/config/MockConfigTest.java
+++ b/tika-core/src/test/java/org/apache/tika/config/MockConfigTest.java
@@ -45,7 +45,7 @@
     }
 
 
-    public class MockConfig extends ConfigBase {
+    public static class MockConfig extends ConfigBase {
 
         private Map<String, String> mappings;
         private Map<String, Integer> mappedIntegers;
diff --git a/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java b/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java
index aa24b6e..e7956de 100644
--- a/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java
+++ b/tika-core/src/test/java/org/apache/tika/detect/MagicDetectorTest.java
@@ -227,7 +227,7 @@
      * InputStream class that does not read in all available bytes in
      * one go.
      */
-    private class RestrictiveInputStream extends ByteArrayInputStream {
+    private static class RestrictiveInputStream extends ByteArrayInputStream {
         public RestrictiveInputStream(byte[] buf) {
             super(buf);
         }
diff --git a/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java b/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java
index bbec92b..b22e5a6 100644
--- a/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java
+++ b/tika-core/src/test/java/org/apache/tika/metadata/TestMetadata.java
@@ -490,7 +490,7 @@
         assertEquals("key=value1", m.toString());
     }
 
-    private class MetadataDateAdder implements Callable<Integer> {
+    private static class MetadataDateAdder implements Callable<Integer> {
         private final Random random = new Random();
 
         @Override
diff --git a/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java b/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java
index 8295eae..485b978 100644
--- a/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java
+++ b/tika-core/src/test/java/org/apache/tika/mime/MimeTypesReaderTest.java
@@ -374,6 +374,6 @@
         MimeTypes mimeTypes = MimeTypes.getDefaultMimeTypes(new CustomClassLoader());
     }
 
-    private class CustomClassLoader extends ClassLoader {
+    private static class CustomClassLoader extends ClassLoader {
     }
 }
diff --git a/tika-core/src/test/java/org/apache/tika/sax/BasicContentHandlerFactoryTest.java b/tika-core/src/test/java/org/apache/tika/sax/BasicContentHandlerFactoryTest.java
index c5b745c..904af33 100644
--- a/tika-core/src/test/java/org/apache/tika/sax/BasicContentHandlerFactoryTest.java
+++ b/tika-core/src/test/java/org/apache/tika/sax/BasicContentHandlerFactoryTest.java
@@ -295,7 +295,7 @@
 
     //Simple mockparser that writes a title
     //and charsToWrite number of 'a'
-    private class MockParser implements Parser {
+    private static class MockParser implements Parser {
         private final String XHTML = "http://www.w3.org/1999/xhtml";
         private final Attributes EMPTY_ATTRIBUTES = new AttributesImpl();
         private final char[] TITLE = "This is the title".toCharArray();
diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/batch/DBConsumersManager.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/batch/DBConsumersManager.java
index 58db0c1..d654027 100644
--- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/batch/DBConsumersManager.java
+++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/batch/DBConsumersManager.java
@@ -96,7 +96,7 @@
         errorLogs.add(p);
     }
 
-    class LogTablePair {
+    static class LogTablePair {
         Path log;
         TableInfo tableInfo;
     }
diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/DBWriter.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/DBWriter.java
index 5c2e184..7a3916a 100644
--- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/DBWriter.java
+++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/DBWriter.java
@@ -156,7 +156,7 @@
         }
     }
 
-    private class LastInsert {
+    private static class LastInsert {
         private long lastInsert = System.currentTimeMillis();
         private long rowCount = 0;
     }
diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/XMLLogReader.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/XMLLogReader.java
index 2701046..8cbdb1e 100644
--- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/XMLLogReader.java
+++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/io/XMLLogReader.java
@@ -79,7 +79,7 @@
     }
 
 
-    class LogXMLWrappingInputStream extends InputStream {
+    static class LogXMLWrappingInputStream extends InputStream {
         //plagiarized from log4j's chainsaw
         private final static String HEADER =
                 "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + "<log4j:eventSet version=\"1.2\" " +
diff --git a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/TopCommonTokenCounter.java b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/TopCommonTokenCounter.java
index f7475e51..484729b 100644
--- a/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/TopCommonTokenCounter.java
+++ b/tika-eval/tika-eval-app/src/main/java/org/apache/tika/eval/app/tools/TopCommonTokenCounter.java
@@ -277,7 +277,7 @@
         }
     }
 
-    private class TokenDFTF {
+    private static class TokenDFTF {
 
         final String token;
         final int df;
diff --git a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/db/AbstractBufferTest.java b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/db/AbstractBufferTest.java
index 70a1e24..4e14256 100644
--- a/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/db/AbstractBufferTest.java
+++ b/tika-eval/tika-eval-app/src/test/java/org/apache/tika/eval/app/db/AbstractBufferTest.java
@@ -124,7 +124,7 @@
         }
     }
 
-    private class MyTestResult {
+    private static class MyTestResult {
         Map<String, Integer> m;
 
         private MyTestResult(Map<String, Integer> m) {
@@ -141,7 +141,7 @@
         }
     }
 
-    private class TestBuffer extends AbstractDBBuffer {
+    private static class TestBuffer extends AbstractDBBuffer {
         @Override
         public void write(int id, String value) throws RuntimeException {
             try {
diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/TextSha256Signature.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/TextSha256Signature.java
index fd873e4..baa93c7 100644
--- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/TextSha256Signature.java
+++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/textstats/TextSha256Signature.java
@@ -33,7 +33,7 @@
         return new TextSha256Instance();
     }
 
-    class TextSha256Instance implements BytesRefCalcInstance<String> {
+    static class TextSha256Instance implements BytesRefCalcInstance<String> {
         private MessageDigest messageDigest = DigestUtils.getSha256Digest();
 
         @Override
diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/AlphaIdeographFilterFactory.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/AlphaIdeographFilterFactory.java
index 88fe748..1c67ce6 100644
--- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/AlphaIdeographFilterFactory.java
+++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/AlphaIdeographFilterFactory.java
@@ -64,7 +64,7 @@
     /**
      * Remove tokens that do not contain an alphabetic or ideographic
      */
-    private class AlphaFilter extends FilteringTokenFilter {
+    private static class AlphaFilter extends FilteringTokenFilter {
 
         private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
         private final TypeAttribute typeAtt = addAttribute(TypeAttribute.class);
diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenContraster.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenContraster.java
index 3a251bc..84ddb18 100644
--- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenContraster.java
+++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/TokenContraster.java
@@ -166,7 +166,7 @@
         }
     }
 
-    private class TokenCountDiff {
+    private static class TokenCountDiff {
         private final String token;
         private final int diff;
         private final int count;
diff --git a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/URLEmailNormalizingFilterFactory.java b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/URLEmailNormalizingFilterFactory.java
index 7fbc960..baef4f7 100644
--- a/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/URLEmailNormalizingFilterFactory.java
+++ b/tika-eval/tika-eval-core/src/main/java/org/apache/tika/eval/core/tokens/URLEmailNormalizingFilterFactory.java
@@ -52,7 +52,7 @@
     /**
      * Normalize urls and emails
      */
-    private class URLEmailFilter extends TokenFilter {
+    private static class URLEmailFilter extends TokenFilter {
 
         private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
         private final TypeAttribute typeAtt = addAttribute(TypeAttribute.class);
diff --git a/tika-example/src/main/java/org/apache/tika/example/InterruptableParsingExample.java b/tika-example/src/main/java/org/apache/tika/example/InterruptableParsingExample.java
index 316c694..9ef1085 100644
--- a/tika-example/src/main/java/org/apache/tika/example/InterruptableParsingExample.java
+++ b/tika-example/src/main/java/org/apache/tika/example/InterruptableParsingExample.java
@@ -63,7 +63,7 @@
         return false;
     }
 
-    class QueryMatchedException extends SAXException {
+    static class QueryMatchedException extends SAXException {
     }
 
     /**
diff --git a/tika-example/src/main/java/org/apache/tika/example/TrecDocumentGenerator.java b/tika-example/src/main/java/org/apache/tika/example/TrecDocumentGenerator.java
index 3efb4b5..4c89b77 100755
--- a/tika-example/src/main/java/org/apache/tika/example/TrecDocumentGenerator.java
+++ b/tika-example/src/main/java/org/apache/tika/example/TrecDocumentGenerator.java
@@ -49,7 +49,7 @@
     // http://svn.apache.org/repos/asf/lucene/openrelevance/trunk/src/java/org/
     // apache/orp/util/TrecDocument.java
     // since the ORP jars aren't published anywhere
-    class TrecDocument {
+    static class TrecDocument {
         private CharSequence docname;
         private CharSequence body;
         private Date date;
diff --git a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
index 5e90740..52fecc9 100644
--- a/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
+++ b/tika-parsers/tika-parsers-advanced/tika-parser-nlp-module/src/main/java/org/apache/tika/parser/journal/TEIDOMParser.java
@@ -655,7 +655,7 @@
 
     }
 
-    class OrgTypeName {
+    static class OrgTypeName {
         private String name;
         private String type;
 
@@ -828,7 +828,7 @@
         }
     }
 
-    private class Country {
+    private static class Country {
         private String key;
         private String content;
 
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
index 9226a5d..afe7b69 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/apple/AppleSingleFileParser.java
@@ -177,7 +177,7 @@
         return EndianUtils.readShortBE(stream);//number of entries
     }
 
-    private class FieldInfo {
+    private static class FieldInfo {
 
         private final long entryId;
         private final long offset;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java
index 228cb9c..cc03991 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-apple-module/src/main/java/org/apache/tika/parser/iwork/PagesContentHandler.java
@@ -443,7 +443,7 @@
      * Represents Annotations in a document. We currently
      * just grab all the sf:p text in each one
      */
-    private class Annotations {
+    private static class Annotations {
         /**
          * ID -> Text
          */
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/TSDParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/TSDParser.java
index 7b1d44f..397d581 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/TSDParser.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-crypto-module/src/main/java/org/apache/tika/parser/crypto/TSDParser.java
@@ -273,7 +273,7 @@
         }
     }
 
-    private class TSDMetas {
+    private static class TSDMetas {
         private final String DATE_FORMAT = "dd/MM/yyyy HH:mm:ss";
 
         private Boolean parseBuilt = false;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java
index b9de249..7857509 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/AbstractListManager.java
@@ -248,7 +248,7 @@
         }
     }
 
-    protected class LevelTuple {
+    protected static class LevelTuple {
         private final int start;
         private final int restart;
         private final String lvlText;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java
index 84d90a2..433804a 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/SXSLFPowerPointExtractorDecorator.java
@@ -453,7 +453,7 @@
 
     }
 
-    private class CommentAuthors {
+    private static class CommentAuthors {
         Map<String, String> nameMap = new HashMap<>();
         Map<String, String> initialMap = new HashMap<>();
 
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xslf/XSLFEventBasedPowerPointExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xslf/XSLFEventBasedPowerPointExtractor.java
index 8b0fa23..ff0fd9f 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xslf/XSLFEventBasedPowerPointExtractor.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xslf/XSLFEventBasedPowerPointExtractor.java
@@ -88,7 +88,7 @@
     }
 
 
-    private class XSLFToTextContentHandler
+    private static class XSLFToTextContentHandler
             implements OOXMLWordAndPowerPointTextHandler.XWPFBodyContentsHandler {
         private final StringBuilder buffer;
 
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java
index b782f2f..9901eb9 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/xwpf/XWPFEventBasedWordExtractor.java
@@ -256,7 +256,7 @@
         return null;
     }
 
-    private class XWPFToTextContentHandler
+    private static class XWPFToTextContentHandler
             implements OOXMLWordAndPowerPointTextHandler.XWPFBodyContentsHandler {
         private final StringBuilder buffer;
 
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java
index ea4697b..677751e 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/SpreadsheetMLParser.java
@@ -67,7 +67,7 @@
         metadata.set(Metadata.CONTENT_TYPE, MEDIA_TYPE.toString());
     }
 
-    private class ExcelMLHandler extends DefaultHandler {
+    private static class ExcelMLHandler extends DefaultHandler {
         final ContentHandler handler;
         StringBuilder buffer = new StringBuilder();
         String href = null;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/WordMLParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/WordMLParser.java
index 7eac1a3..5ed1399 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/WordMLParser.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/xml/WordMLParser.java
@@ -90,7 +90,7 @@
         metadata.set(Metadata.CONTENT_TYPE, MEDIA_TYPE.toString());
     }
 
-    private class WordMLHandler extends DefaultHandler {
+    private static class WordMLHandler extends DefaultHandler {
         private final ContentHandler handler;
         private boolean ignoreCharacters;
         private boolean inBody = false;
@@ -173,7 +173,7 @@
         }
     }
 
-    private class PictHandler extends DefaultHandler {
+    private static class PictHandler extends DefaultHandler {
         final StringBuilder buffer = new StringBuilder();
         final Metadata parentMetadata;
         final ContentHandler handler;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java
index 1f1fe71..ebf63a0 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-microsoft-module/src/test/java/org/apache/tika/parser/microsoft/pst/OutlookPSTParserTest.java
@@ -146,7 +146,7 @@
         // the bodyhtml
     }
 
-    private class EmbeddedTrackingExtrator extends ParsingEmbeddedDocumentExtractor {
+    private static class EmbeddedTrackingExtrator extends ParsingEmbeddedDocumentExtractor {
         List<Metadata> trackingMetadata = new ArrayList<>();
 
         public EmbeddedTrackingExtrator(ParseContext context) {
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/QPWTextExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/QPWTextExtractor.java
index ae7e924..8f78442 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/QPWTextExtractor.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-miscoffice-module/src/main/java/org/apache/tika/parser/wordperfect/QPWTextExtractor.java
@@ -225,7 +225,7 @@
         public abstract void extract(Context ctx) throws IOException, SAXException;
     }
 
-    class Context {
+    static class Context {
         private final WPInputStream in;
         private final XHTMLContentHandler xhtml;
         private final Metadata metadata;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java
index 3553c4c..93d1b7e 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDF2XHTML.java
@@ -303,7 +303,7 @@
         }
     }
 
-    class AngleCollector extends PDFTextStripper {
+    static class AngleCollector extends PDFTextStripper {
         Set<Integer> angles = new HashSet<>();
 
         /**
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFEncodedStringDecoder.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFEncodedStringDecoder.java
index d08e6ed..7b8cd2f 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFEncodedStringDecoder.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFEncodedStringDecoder.java
@@ -95,7 +95,7 @@
         return value;
     }
 
-    class COSStringParser extends COSParser {
+    static class COSStringParser extends COSParser {
 
         COSStringParser(RandomAccessRead buffer) throws IOException {
             super(buffer);
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
index 9f4ff52..c7eebe9 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/PDFParser.java
@@ -660,7 +660,7 @@
      * Copied from AcroformDefaultFixup minus generation of appearances and handling of orphan
      * widgets, which we don't need.
      */
-    class TikaAcroFormFixup extends AbstractFixup {
+    static class TikaAcroFormFixup extends AbstractFixup {
         TikaAcroFormFixup(PDDocument document) {
             super(document);
         }
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/XFAExtractor.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/XFAExtractor.java
index fac6c3d..58e4bcd 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/XFAExtractor.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/main/java/org/apache/tika/parser/pdf/XFAExtractor.java
@@ -290,7 +290,7 @@
         return "";
     }
 
-    class XFAField {
+    static class XFAField {
         String fieldName;
         String toolTip;
         String pdfObjRef;
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
index b7a498a..0c83ab4 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-pdf-module/src/test/java/org/apache/tika/parser/pdf/PDFParserTest.java
@@ -1311,7 +1311,7 @@
      * Simple class to count end of document events.  If functionality is useful,
      * move to org.apache.tika in src/test
      */
-    private class EventCountingHandler extends ContentHandlerDecorator {
+    private static class EventCountingHandler extends ContentHandlerDecorator {
         private int endDocument = 0;
 
         @Override
@@ -1324,7 +1324,7 @@
         }
     }
 
-    private class AvoidInlineSelector implements DocumentSelector {
+    private static class AvoidInlineSelector implements DocumentSelector {
 
         @Override
         public boolean select(Metadata metadata) {
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/CSVSniffer.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/CSVSniffer.java
index 3d08b3e..52c7f79 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/CSVSniffer.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/csv/CSVSniffer.java
@@ -384,7 +384,7 @@
 
     }
 
-    private class CloseShieldReader extends ProxyReader {
+    private static class CloseShieldReader extends ProxyReader {
         public CloseShieldReader(Reader r) {
             super(r);
         }
diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
index f7b632c..24f1d0f 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-package/src/test/java/org/apache/tika/parser/pkg/ZipParserTest.java
@@ -123,7 +123,7 @@
                 results.get(4).get("X-TIKA:EXCEPTION:embedded_exception"));
     }
 
-    private class GatherRelIDsDocumentExtractor implements EmbeddedDocumentExtractor {
+    private static class GatherRelIDsDocumentExtractor implements EmbeddedDocumentExtractor {
         public Set<String> allRelIDs = new HashSet<>();
 
         public boolean shouldParseEmbedded(Metadata metadata) {
diff --git a/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java b/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java
index 153fe86..65c40c5 100644
--- a/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java
+++ b/tika-pipes/tika-httpclient-commons/src/main/java/org/apache/tika/client/HttpClientFactory.java
@@ -391,7 +391,7 @@
         }
     }
 
-    private class AES {
+    private static class AES {
         private final SecretKeySpec secretKey;
         private byte[] key;
 
diff --git a/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java b/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java
index 9803b80..8c5a153 100644
--- a/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java
+++ b/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaClientCLI.java
@@ -181,7 +181,7 @@
         }
     }
 
-    private class PipesIteratorWrapper implements Callable<Integer> {
+    private static class PipesIteratorWrapper implements Callable<Integer> {
         private final PipesIterator pipesIterator;
         private final ArrayBlockingQueue<FetchEmitTuple> queue;
         private final int numThreads;
diff --git a/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaHttpClient.java b/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaHttpClient.java
index e0e1585..2c366a6 100644
--- a/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaHttpClient.java
+++ b/tika-server/tika-server-client/src/main/java/org/apache/tika/server/client/TikaHttpClient.java
@@ -164,7 +164,7 @@
         throw new TimeoutWaitingForTikaException("");
     }
 
-    private class TimeoutWaitingForTikaException extends TikaException {
+    private static class TimeoutWaitingForTikaException extends TikaException {
         public TimeoutWaitingForTikaException(String msg) {
             super(msg);
         }
diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java
index 6606d90..d895e3e 100644
--- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java
+++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/TikaWelcome.java
@@ -207,7 +207,7 @@
         return text.toString();
     }
 
-    protected class Endpoint {
+    protected static class Endpoint {
         public final String className;
         public final String methodName;
         public final String path;
diff --git a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java
index d3e7403..cd9899d 100644
--- a/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java
+++ b/tika-server/tika-server-core/src/main/java/org/apache/tika/server/core/resource/UnpackerResource.java
@@ -157,7 +157,7 @@
         return files;
     }
 
-    private class MyEmbeddedDocumentExtractor implements EmbeddedDocumentExtractor {
+    private static class MyEmbeddedDocumentExtractor implements EmbeddedDocumentExtractor {
         private final MutableInt count;
         private final Map<String, byte[]> zout;
         private final EmbeddedStreamTranslator embeddedStreamTranslator =
diff --git a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/ServerStatusTest.java b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/ServerStatusTest.java
index 0134b6d..57b4e6a 100644
--- a/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/ServerStatusTest.java
+++ b/tika-server/tika-server-core/src/test/java/org/apache/tika/server/core/ServerStatusTest.java
@@ -65,7 +65,7 @@
 
     }
 
-    private class MockTask implements Callable<Integer> {
+    private static class MockTask implements Callable<Integer> {
         private final ServerStatus serverStatus;
         private final int filesToProcess;
         Random r = new Random();
diff --git a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java
index 4edd7a4..b2bff7a 100644
--- a/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java
+++ b/tika-xmp/src/main/java/org/apache/tika/xmp/convert/OpenDocumentConverter.java
@@ -16,7 +16,6 @@
  */
 package org.apache.tika.xmp.convert;
 
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;