You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2021/03/23 04:04:13 UTC

[lucene] branch jira/LUCENE-9856-static-analysis updated: LUCENE-9856: enable/fix more unnecessary code detection in linter

This is an automated email from the ASF dual-hosted git repository.

rmuir pushed a commit to branch jira/LUCENE-9856-static-analysis
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/jira/LUCENE-9856-static-analysis by this push:
     new 7d823c8  LUCENE-9856: enable/fix more unnecessary code detection in linter
7d823c8 is described below

commit 7d823c84e3f7b6bebd25eda76f9e482016c78868
Author: Robert Muir <rm...@apache.org>
AuthorDate: Tue Mar 23 00:03:39 2021 -0400

    LUCENE-9856: enable/fix more unnecessary code detection in linter
---
 gradle/validation/ecj-lint/ecj.javadocs.prefs                         | 4 ++--
 .../apache/lucene/analysis/miscellaneous/ConcatenateGraphFilter.java  | 2 +-
 .../lucene/analysis/miscellaneous/ProtectedTermFilterFactory.java     | 4 +---
 .../src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java    | 2 +-
 .../src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java | 2 +-
 .../src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java  | 2 +-
 .../lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java      | 2 +-
 .../lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java     | 2 +-
 .../lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java   | 3 +--
 .../lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java | 3 +--
 .../lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java      | 2 +-
 .../lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java  | 2 +-
 .../lucene/analysis/ko/tokenattributes/PartOfSpeechAttributeImpl.java | 3 +--
 .../lucene/analysis/ko/tokenattributes/ReadingAttributeImpl.java      | 2 +-
 .../lucene50/compressing/Lucene50CompressingTermVectorsReader.java    | 4 +---
 .../apache/lucene/backward_codecs/lucene60/Lucene60PointsReader.java  | 3 +--
 .../lucene/backward_codecs/lucene70/Lucene70DocValuesConsumer.java    | 3 +--
 .../lucene/backward_codecs/lucene70/Lucene70DocValuesProducer.java    | 3 +--
 .../lucene/backward_codecs/lucene80/Lucene80DocValuesConsumer.java    | 2 +-
 .../lucene/backward_codecs/lucene80/Lucene80DocValuesProducer.java    | 3 +--
 .../apache/lucene/backward_codecs/lucene60/Lucene60PointsWriter.java  | 3 +--
 .../org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java    | 2 +-
 .../org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java | 2 +-
 .../org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java   | 2 +-
 .../org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java    | 2 +-
 .../java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java    | 3 +--
 .../lucene/analysis/tokenattributes/BytesTermAttributeImpl.java       | 3 +--
 .../apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java | 2 +-
 .../apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java    | 2 +-
 .../apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java   | 2 +-
 .../apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java  | 2 +-
 .../analysis/tokenattributes/PositionIncrementAttributeImpl.java      | 2 +-
 .../lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java  | 3 +--
 .../lucene/analysis/tokenattributes/TermFrequencyAttributeImpl.java   | 3 +--
 .../org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java | 2 +-
 .../java/org/apache/lucene/codecs/lucene86/Lucene86PointsReader.java  | 3 +--
 .../java/org/apache/lucene/codecs/lucene86/Lucene86PointsWriter.java  | 3 +--
 .../org/apache/lucene/codecs/lucene90/Lucene90DocValuesConsumer.java  | 2 +-
 .../org/apache/lucene/codecs/lucene90/Lucene90DocValuesProducer.java  | 3 +--
 .../lucene90/compressing/Lucene90CompressingTermVectorsReader.java    | 4 +---
 lucene/core/src/java/org/apache/lucene/store/IndexInput.java          | 2 +-
 lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java          | 2 +-
 lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java    | 2 +-
 lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java    | 3 +--
 .../src/java/org/apache/lucene/queryparser/xml/CoreParser.java        | 2 +-
 .../org/apache/lucene/spatial3d/geom/GeoCompositeMembershipShape.java | 4 ++--
 .../src/java/org/apache/lucene/spatial3d/geom/GeoMembershipShape.java | 2 +-
 .../apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java    | 3 +--
 .../org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java | 3 +--
 .../org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java     | 2 +-
 .../org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java    | 3 +--
 .../java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java  | 3 +--
 52 files changed, 54 insertions(+), 80 deletions(-)

diff --git a/gradle/validation/ecj-lint/ecj.javadocs.prefs b/gradle/validation/ecj-lint/ecj.javadocs.prefs
index 3e881b8..ea50101 100644
--- a/gradle/validation/ecj-lint/ecj.javadocs.prefs
+++ b/gradle/validation/ecj-lint/ecj.javadocs.prefs
@@ -85,7 +85,7 @@ org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
 org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
 org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
 org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=error
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
 org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=error
@@ -116,7 +116,7 @@ org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCom
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=error
-org.eclipse.jdt.core.compiler.problem.unusedLabel=ignore
+org.eclipse.jdt.core.compiler.problem.unusedLabel=error
 org.eclipse.jdt.core.compiler.problem.unusedLocal=error
 org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
 org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ConcatenateGraphFilter.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ConcatenateGraphFilter.java
index bfdfb43..01517b1 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ConcatenateGraphFilter.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ConcatenateGraphFilter.java
@@ -348,7 +348,7 @@ public final class ConcatenateGraphFilter extends TokenStream {
    * @lucene.internal
    */
   public static final class BytesRefBuilderTermAttributeImpl extends AttributeImpl
-      implements BytesRefBuilderTermAttribute, TermToBytesRefAttribute {
+      implements BytesRefBuilderTermAttribute {
     private final BytesRefBuilder bytes = new BytesRefBuilder();
     private transient CharsRefBuilder charsRef;
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ProtectedTermFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ProtectedTermFilterFactory.java
index 71f4e1a..b0d7f9b 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ProtectedTermFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/ProtectedTermFilterFactory.java
@@ -31,7 +31,6 @@ import org.apache.lucene.analysis.CharArraySet;
 import org.apache.lucene.analysis.TokenFilterFactory;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.util.ResourceLoader;
-import org.apache.lucene.util.ResourceLoaderAware;
 
 /**
  * Factory for a {@link ProtectedTermFilter}
@@ -82,8 +81,7 @@ import org.apache.lucene.util.ResourceLoaderAware;
  * @since 7.4.0
  * @lucene.spi {@value #NAME}
  */
-public class ProtectedTermFilterFactory extends ConditionalTokenFilterFactory
-    implements ResourceLoaderAware {
+public class ProtectedTermFilterFactory extends ConditionalTokenFilterFactory {
 
   public static final String NAME = "protectedTerm";
 
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
index b90e137..5cf3319 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/FloatEncoder.java
@@ -23,7 +23,7 @@ import org.apache.lucene.util.BytesRef;
  *
  * @see org.apache.lucene.analysis.payloads.PayloadHelper#encodeFloat(float, byte[], int)
  */
-public class FloatEncoder extends AbstractEncoder implements PayloadEncoder {
+public class FloatEncoder extends AbstractEncoder {
 
   @Override
   public BytesRef encode(char[] buffer, int offset, int length) {
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
index 22dd4a1..96431dd 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IdentityEncoder.java
@@ -23,7 +23,7 @@ import java.nio.charset.StandardCharsets;
 import org.apache.lucene.util.BytesRef;
 
 /** Does nothing other than convert the char array to a byte array using the specified encoding. */
-public class IdentityEncoder extends AbstractEncoder implements PayloadEncoder {
+public class IdentityEncoder extends AbstractEncoder {
   protected Charset charset = StandardCharsets.UTF_8;
 
   public IdentityEncoder() {}
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
index 01ac026..476718f 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/payloads/IntegerEncoder.java
@@ -24,7 +24,7 @@ import org.apache.lucene.util.BytesRef;
  *
  * <p>See {@link org.apache.lucene.analysis.payloads.PayloadHelper#encodeInt(int, byte[], int)}.
  */
-public class IntegerEncoder extends AbstractEncoder implements PayloadEncoder {
+public class IntegerEncoder extends AbstractEncoder {
 
   @Override
   public BytesRef encode(char[] buffer, int offset, int length) {
diff --git a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
index d2a389b..263656f 100644
--- a/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
+++ b/lucene/analysis/icu/src/java/org/apache/lucene/analysis/icu/tokenattributes/ScriptAttributeImpl.java
@@ -25,7 +25,7 @@ import org.apache.lucene.util.AttributeReflector;
  *
  * @lucene.experimental
  */
-public class ScriptAttributeImpl extends AttributeImpl implements ScriptAttribute, Cloneable {
+public class ScriptAttributeImpl extends AttributeImpl implements ScriptAttribute {
   private int code = UScript.COMMON;
 
   /** Initializes this attribute with <code>UScript.COMMON</code> */
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
index e1a6e43..845c318 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/BaseFormAttributeImpl.java
@@ -21,7 +21,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Attribute for {@link Token#getBaseForm()}. */
-public class BaseFormAttributeImpl extends AttributeImpl implements BaseFormAttribute, Cloneable {
+public class BaseFormAttributeImpl extends AttributeImpl implements BaseFormAttribute {
   private Token token;
 
   @Override
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
index 21df3e9..36a04dc 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/InflectionAttributeImpl.java
@@ -22,8 +22,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Attribute for Kuromoji inflection data. */
-public class InflectionAttributeImpl extends AttributeImpl
-    implements InflectionAttribute, Cloneable {
+public class InflectionAttributeImpl extends AttributeImpl implements InflectionAttribute {
   private Token token;
 
   @Override
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
index c2f54ff..464adbd 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/PartOfSpeechAttributeImpl.java
@@ -22,8 +22,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Attribute for {@link Token#getPartOfSpeech()}. */
-public class PartOfSpeechAttributeImpl extends AttributeImpl
-    implements PartOfSpeechAttribute, Cloneable {
+public class PartOfSpeechAttributeImpl extends AttributeImpl implements PartOfSpeechAttribute {
   private Token token;
 
   @Override
diff --git a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
index c71aa64..bada242 100644
--- a/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
+++ b/lucene/analysis/kuromoji/src/java/org/apache/lucene/analysis/ja/tokenattributes/ReadingAttributeImpl.java
@@ -22,7 +22,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Attribute for Kuromoji reading data */
-public class ReadingAttributeImpl extends AttributeImpl implements ReadingAttribute, Cloneable {
+public class ReadingAttributeImpl extends AttributeImpl implements ReadingAttribute {
   private Token token;
 
   @Override
diff --git a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
index 0c3ad9c..a749045 100644
--- a/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
+++ b/lucene/analysis/morfologik/src/java/org/apache/lucene/analysis/morfologik/MorphosyntacticTagsAttributeImpl.java
@@ -27,7 +27,7 @@ import org.apache.lucene.util.AttributeReflector;
  * @see MorphosyntacticTagsAttribute
  */
 public class MorphosyntacticTagsAttributeImpl extends AttributeImpl
-    implements MorphosyntacticTagsAttribute, Cloneable {
+    implements MorphosyntacticTagsAttribute {
 
   /** Initializes this attribute with no tags */
   public MorphosyntacticTagsAttributeImpl() {}
diff --git a/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/PartOfSpeechAttributeImpl.java b/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/PartOfSpeechAttributeImpl.java
index a46b888..a1b04cb 100644
--- a/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/PartOfSpeechAttributeImpl.java
+++ b/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/PartOfSpeechAttributeImpl.java
@@ -28,8 +28,7 @@ import org.apache.lucene.util.AttributeReflector;
  *
  * @lucene.experimental
  */
-public class PartOfSpeechAttributeImpl extends AttributeImpl
-    implements PartOfSpeechAttribute, Cloneable {
+public class PartOfSpeechAttributeImpl extends AttributeImpl implements PartOfSpeechAttribute {
   private Token token;
 
   @Override
diff --git a/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/ReadingAttributeImpl.java b/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/ReadingAttributeImpl.java
index b6467a0..e3a6c0d 100644
--- a/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/ReadingAttributeImpl.java
+++ b/lucene/analysis/nori/src/java/org/apache/lucene/analysis/ko/tokenattributes/ReadingAttributeImpl.java
@@ -25,7 +25,7 @@ import org.apache.lucene.util.AttributeReflector;
  *
  * @lucene.experimental
  */
-public class ReadingAttributeImpl extends AttributeImpl implements ReadingAttribute, Cloneable {
+public class ReadingAttributeImpl extends AttributeImpl implements ReadingAttribute {
   private Token token;
 
   @Override
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene50/compressing/Lucene50CompressingTermVectorsReader.java b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene50/compressing/Lucene50CompressingTermVectorsReader.java
index 6d8a248..c2f975d 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene50/compressing/Lucene50CompressingTermVectorsReader.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene50/compressing/Lucene50CompressingTermVectorsReader.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.backward_codecs.lucene50.compressing;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
@@ -58,8 +57,7 @@ import org.apache.lucene.util.packed.PackedInts;
  *
  * @lucene.experimental
  */
-public final class Lucene50CompressingTermVectorsReader extends TermVectorsReader
-    implements Closeable {
+public final class Lucene50CompressingTermVectorsReader extends TermVectorsReader {
 
   // hard limit on the maximum number of documents per chunk
   static final int MAX_DOCUMENTS_PER_CHUNK = 128;
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsReader.java b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsReader.java
index 75ca01c..f755057 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsReader.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsReader.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.backward_codecs.lucene60;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -32,7 +31,7 @@ import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.bkd.BKDReader;
 
 /** Reads point values previously written with Lucene60PointsWriter */
-public class Lucene60PointsReader extends PointsReader implements Closeable {
+public class Lucene60PointsReader extends PointsReader {
   final IndexInput dataIn;
   final SegmentReadState readState;
   final Map<Integer, BKDReader> readers = new HashMap<>();
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesConsumer.java b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesConsumer.java
index a8c1bad..d1173b5 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesConsumer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesConsumer.java
@@ -20,7 +20,6 @@ import static org.apache.lucene.backward_codecs.lucene70.Lucene70DocValuesFormat
 import static org.apache.lucene.backward_codecs.lucene70.Lucene70DocValuesFormat.NUMERIC_BLOCK_SHIFT;
 import static org.apache.lucene.backward_codecs.lucene70.Lucene70DocValuesFormat.NUMERIC_BLOCK_SIZE;
 
-import java.io.Closeable; // javadocs
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -54,7 +53,7 @@ import org.apache.lucene.util.packed.DirectMonotonicWriter;
 import org.apache.lucene.util.packed.DirectWriter;
 
 /** writer for {@link Lucene70DocValuesFormat} */
-final class Lucene70DocValuesConsumer extends DocValuesConsumer implements Closeable {
+final class Lucene70DocValuesConsumer extends DocValuesConsumer {
 
   IndexOutput data, meta;
   final int maxDoc;
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesProducer.java b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesProducer.java
index 2e2f20d..a52989d 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesProducer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene70/Lucene70DocValuesProducer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.backward_codecs.lucene70;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -49,7 +48,7 @@ import org.apache.lucene.util.packed.DirectMonotonicReader;
 import org.apache.lucene.util.packed.DirectReader;
 
 /** reader for {@link Lucene70DocValuesFormat} */
-final class Lucene70DocValuesProducer extends DocValuesProducer implements Closeable {
+final class Lucene70DocValuesProducer extends DocValuesProducer {
   private final Map<String, NumericEntry> numerics = new HashMap<>();
   private final Map<String, BinaryEntry> binaries = new HashMap<>();
   private final Map<String, SortedEntry> sorted = new HashMap<>();
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesConsumer.java b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesConsumer.java
index bfb0335..12d97c0 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesConsumer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesConsumer.java
@@ -62,7 +62,7 @@ import org.apache.lucene.util.packed.DirectMonotonicWriter;
 import org.apache.lucene.util.packed.DirectWriter;
 
 /** writer for {@link Lucene80DocValuesFormat} */
-final class Lucene80DocValuesConsumer extends DocValuesConsumer implements Closeable {
+final class Lucene80DocValuesConsumer extends DocValuesConsumer {
 
   final Lucene80DocValuesFormat.Mode mode;
   IndexOutput data, meta;
diff --git a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesProducer.java b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesProducer.java
index 67e69ee..3bff879 100644
--- a/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesProducer.java
+++ b/lucene/backward-codecs/src/java/org/apache/lucene/backward_codecs/lucene80/Lucene80DocValuesProducer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.backward_codecs.lucene80;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -52,7 +51,7 @@ import org.apache.lucene.util.packed.DirectMonotonicReader;
 import org.apache.lucene.util.packed.DirectReader;
 
 /** reader for {@link Lucene80DocValuesFormat} */
-final class Lucene80DocValuesProducer extends DocValuesProducer implements Closeable {
+final class Lucene80DocValuesProducer extends DocValuesProducer {
   private final Map<String, NumericEntry> numerics = new HashMap<>();
   private final Map<String, BinaryEntry> binaries = new HashMap<>();
   private final Map<String, SortedEntry> sorted = new HashMap<>();
diff --git a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsWriter.java b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsWriter.java
index ea07ce5..4dbfd38 100644
--- a/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsWriter.java
+++ b/lucene/backward-codecs/src/test/org/apache/lucene/backward_codecs/lucene60/Lucene60PointsWriter.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.backward_codecs.lucene60;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -41,7 +40,7 @@ import org.apache.lucene.util.bkd.BKDReader;
 import org.apache.lucene.util.bkd.BKDWriter;
 
 /** Writes dimensional values */
-public class Lucene60PointsWriter extends PointsWriter implements Closeable {
+public class Lucene60PointsWriter extends PointsWriter {
 
   /** Output used to write the BKD tree data file */
   protected final IndexOutput dataOut;
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
index c944af8..fefbc7b 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiQueryMaker.java
@@ -36,7 +36,7 @@ import org.apache.lucene.search.spans.SpanTermQuery;
  * A QueryMaker that uses common and uncommon actual Wikipedia queries for searching the English
  * Wikipedia collection. 90 queries total.
  */
-public class EnwikiQueryMaker extends AbstractQueryMaker implements QueryMaker {
+public class EnwikiQueryMaker extends AbstractQueryMaker {
 
   // common and a few uncommon queries from wikipedia search logs
   private static String[] STANDARD_QUERIES = {
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
index 2eb257a..283178e 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/FileBasedQueryMaker.java
@@ -43,7 +43,7 @@ import org.apache.lucene.util.IOUtils;
  * <pre>file.query.maker.file=c:/myqueries.txt
  * file.query.maker.default.field=body</pre>
  */
-public class FileBasedQueryMaker extends AbstractQueryMaker implements QueryMaker {
+public class FileBasedQueryMaker extends AbstractQueryMaker {
 
   @Override
   protected Query[] prepareQueries() throws Exception {
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
index 795e3a6..1f3216d 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/ReutersQueryMaker.java
@@ -34,7 +34,7 @@ import org.apache.lucene.search.spans.SpanTermQuery;
  * A QueryMaker that makes queries devised manually (by Grant Ingersoll) for searching in the
  * Reuters collection.
  */
-public class ReutersQueryMaker extends AbstractQueryMaker implements QueryMaker {
+public class ReutersQueryMaker extends AbstractQueryMaker {
 
   private static String[] STANDARD_QUERIES = {
     // Start with some short queries
diff --git a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
index c7036f5..ceaabcb 100644
--- a/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
+++ b/lucene/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/SimpleQueryMaker.java
@@ -30,7 +30,7 @@ import org.apache.lucene.search.TermQuery;
  * A QueryMaker that makes queries for a collection created using {@link
  * org.apache.lucene.benchmark.byTask.feeds.SingleDocSource}.
  */
-public class SimpleQueryMaker extends AbstractQueryMaker implements QueryMaker {
+public class SimpleQueryMaker extends AbstractQueryMaker {
 
   /**
    * Prepare the queries for this test. Extending classes can override this method for preparing
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
index fff2c56..3784f41 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsWriter.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.codecs.blockterms;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -52,7 +51,7 @@ import org.apache.lucene.util.IOUtils;
  *
  * @lucene.experimental
  */
-public class BlockTermsWriter extends FieldsConsumer implements Closeable {
+public class BlockTermsWriter extends FieldsConsumer {
 
   static final String CODEC_NAME = "BlockTermsWriter";
 
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
index 8783bbf..e115ee9 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/BytesTermAttributeImpl.java
@@ -26,8 +26,7 @@ import org.apache.lucene.util.BytesRef;
  *
  * @lucene.internal
  */
-public class BytesTermAttributeImpl extends AttributeImpl
-    implements BytesTermAttribute, TermToBytesRefAttribute {
+public class BytesTermAttributeImpl extends AttributeImpl implements BytesTermAttribute {
   private BytesRef bytes;
 
   /** Initialize this attribute with no bytes. */
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
index bae5c60..c494bda 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.java
@@ -26,7 +26,7 @@ import org.apache.lucene.util.BytesRefBuilder;
 
 /** Default implementation of {@link CharTermAttribute}. */
 public class CharTermAttributeImpl extends AttributeImpl
-    implements CharTermAttribute, TermToBytesRefAttribute, Cloneable {
+    implements CharTermAttribute, TermToBytesRefAttribute {
   private static int MIN_BUFFER_SIZE = 10;
 
   private char[] termBuffer = new char[ArrayUtil.oversize(MIN_BUFFER_SIZE, Character.BYTES)];
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
index 9a1bdc3..9fe02aa 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/FlagsAttributeImpl.java
@@ -20,7 +20,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Default implementation of {@link FlagsAttribute}. */
-public class FlagsAttributeImpl extends AttributeImpl implements FlagsAttribute, Cloneable {
+public class FlagsAttributeImpl extends AttributeImpl implements FlagsAttribute {
   private int flags = 0;
 
   /** Initialize this attribute with no bits set */
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
index 8ddae00..8e05ece 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/OffsetAttributeImpl.java
@@ -20,7 +20,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Default implementation of {@link OffsetAttribute}. */
-public class OffsetAttributeImpl extends AttributeImpl implements OffsetAttribute, Cloneable {
+public class OffsetAttributeImpl extends AttributeImpl implements OffsetAttribute {
   private int startOffset;
   private int endOffset;
 
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
index da36ebd..b17f018 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttributeImpl.java
@@ -21,7 +21,7 @@ import org.apache.lucene.util.AttributeReflector;
 import org.apache.lucene.util.BytesRef;
 
 /** Default implementation of {@link PayloadAttribute}. */
-public class PayloadAttributeImpl extends AttributeImpl implements PayloadAttribute, Cloneable {
+public class PayloadAttributeImpl extends AttributeImpl implements PayloadAttribute {
   private BytesRef payload;
 
   /** Initialize this attribute with no payload. */
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
index 80ef0d4..31ceca1 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttributeImpl.java
@@ -21,7 +21,7 @@ import org.apache.lucene.util.AttributeReflector;
 
 /** Default implementation of {@link PositionIncrementAttribute}. */
 public class PositionIncrementAttributeImpl extends AttributeImpl
-    implements PositionIncrementAttribute, Cloneable {
+    implements PositionIncrementAttribute {
   private int positionIncrement = 1;
 
   /** Initialize this attribute with position increment of 1 */
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
index 3a59faa..b7dd308 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PositionLengthAttributeImpl.java
@@ -20,8 +20,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Default implementation of {@link PositionLengthAttribute}. */
-public class PositionLengthAttributeImpl extends AttributeImpl
-    implements PositionLengthAttribute, Cloneable {
+public class PositionLengthAttributeImpl extends AttributeImpl implements PositionLengthAttribute {
   private int positionLength = 1;
 
   /** Initializes this attribute with position length of 1. */
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermFrequencyAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermFrequencyAttributeImpl.java
index 4e8520f..f578e28 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermFrequencyAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TermFrequencyAttributeImpl.java
@@ -20,8 +20,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Default implementation of {@link TermFrequencyAttribute}. */
-public class TermFrequencyAttributeImpl extends AttributeImpl
-    implements TermFrequencyAttribute, Cloneable {
+public class TermFrequencyAttributeImpl extends AttributeImpl implements TermFrequencyAttribute {
   private int termFrequency = 1;
 
   /** Initialize this attribute with term frequency of 1 */
diff --git a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
index dbe5e94..0f44404 100644
--- a/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
+++ b/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/TypeAttributeImpl.java
@@ -20,7 +20,7 @@ import org.apache.lucene.util.AttributeImpl;
 import org.apache.lucene.util.AttributeReflector;
 
 /** Default implementation of {@link TypeAttribute}. */
-public class TypeAttributeImpl extends AttributeImpl implements TypeAttribute, Cloneable {
+public class TypeAttributeImpl extends AttributeImpl implements TypeAttribute {
   private String type;
 
   /** Initialize this attribute with {@link TypeAttribute#DEFAULT_TYPE} */
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsReader.java
index affe4fe..3b21a40 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsReader.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.codecs.lucene86;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -33,7 +32,7 @@ import org.apache.lucene.util.IOUtils;
 import org.apache.lucene.util.bkd.BKDReader;
 
 /** Reads point values previously written with {@link Lucene86PointsWriter} */
-public class Lucene86PointsReader extends PointsReader implements Closeable {
+public class Lucene86PointsReader extends PointsReader {
   final IndexInput indexIn, dataIn;
   final SegmentReadState readState;
   final Map<Integer, BKDReader> readers = new HashMap<>();
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsWriter.java
index 0fcf77d..ba29bf8 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene86/Lucene86PointsWriter.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.codecs.lucene86;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -39,7 +38,7 @@ import org.apache.lucene.util.bkd.BKDReader;
 import org.apache.lucene.util.bkd.BKDWriter;
 
 /** Writes dimensional values */
-public class Lucene86PointsWriter extends PointsWriter implements Closeable {
+public class Lucene86PointsWriter extends PointsWriter {
 
   /** Outputs used to write the BKD tree data files. */
   protected final IndexOutput metaOut, indexOut, dataOut;
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesConsumer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesConsumer.java
index 80a5868..2e6389a 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesConsumer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesConsumer.java
@@ -62,7 +62,7 @@ import org.apache.lucene.util.packed.DirectMonotonicWriter;
 import org.apache.lucene.util.packed.DirectWriter;
 
 /** writer for {@link Lucene90DocValuesFormat} */
-final class Lucene90DocValuesConsumer extends DocValuesConsumer implements Closeable {
+final class Lucene90DocValuesConsumer extends DocValuesConsumer {
 
   final Lucene90DocValuesFormat.Mode mode;
   IndexOutput data, meta;
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesProducer.java
index 0a2bb13..eaa4a45 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesProducer.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene90/Lucene90DocValuesProducer.java
@@ -16,7 +16,6 @@
  */
 package org.apache.lucene.codecs.lucene90;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -52,7 +51,7 @@ import org.apache.lucene.util.packed.DirectMonotonicReader;
 import org.apache.lucene.util.packed.DirectReader;
 
 /** reader for {@link Lucene90DocValuesFormat} */
-final class Lucene90DocValuesProducer extends DocValuesProducer implements Closeable {
+final class Lucene90DocValuesProducer extends DocValuesProducer {
   private final Map<String, NumericEntry> numerics = new HashMap<>();
   private final Map<String, BinaryEntry> binaries = new HashMap<>();
   private final Map<String, SortedEntry> sorted = new HashMap<>();
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene90/compressing/Lucene90CompressingTermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene90/compressing/Lucene90CompressingTermVectorsReader.java
index 6d501ec..7aca22b 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene90/compressing/Lucene90CompressingTermVectorsReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene90/compressing/Lucene90CompressingTermVectorsReader.java
@@ -29,7 +29,6 @@ import static org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingT
 import static org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingTermVectorsWriter.VERSION_CURRENT;
 import static org.apache.lucene.codecs.lucene90.compressing.Lucene90CompressingTermVectorsWriter.VERSION_START;
 
-import java.io.Closeable;
 import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
@@ -71,8 +70,7 @@ import org.apache.lucene.util.packed.PackedInts;
  *
  * @lucene.experimental
  */
-public final class Lucene90CompressingTermVectorsReader extends TermVectorsReader
-    implements Closeable {
+public final class Lucene90CompressingTermVectorsReader extends TermVectorsReader {
 
   private final FieldInfos fieldInfos;
   final FieldsIndex indexReader;
diff --git a/lucene/core/src/java/org/apache/lucene/store/IndexInput.java b/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
index 10f4a37..3d3d90b 100644
--- a/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
+++ b/lucene/core/src/java/org/apache/lucene/store/IndexInput.java
@@ -37,7 +37,7 @@ import java.io.IOException;
  *
  * @see Directory
  */
-public abstract class IndexInput extends DataInput implements Cloneable, Closeable {
+public abstract class IndexInput extends DataInput implements Closeable {
 
   private final String resourceDescription;
 
diff --git a/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java b/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
index 7b79ece..707ee76 100644
--- a/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
@@ -28,7 +28,7 @@ import org.apache.lucene.search.DocIdSetIterator;
  *
  * @lucene.internal
  */
-public final class FixedBitSet extends BitSet implements Bits, Accountable {
+public final class FixedBitSet extends BitSet {
 
   private static final long BASE_RAM_BYTES_USED =
       RamUsageEstimator.shallowSizeOfInstance(FixedBitSet.class);
diff --git a/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java b/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
index 2952ee2..2a1762a 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
@@ -33,7 +33,7 @@ import org.apache.lucene.search.DocIdSetIterator;
  *
  * @lucene.internal
  */
-public class SparseFixedBitSet extends BitSet implements Bits, Accountable {
+public class SparseFixedBitSet extends BitSet {
 
   private static final long BASE_RAM_BYTES_USED =
       RamUsageEstimator.shallowSizeOfInstance(SparseFixedBitSet.class);
diff --git a/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java b/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
index df9ef10..93ef7e8 100644
--- a/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
+++ b/lucene/facet/src/java/org/apache/lucene/facet/FacetsCollector.java
@@ -46,8 +46,7 @@ import org.apache.lucene.util.DocIdSetBuilder;
  * instantiate one of the {@link Facets} subclasses to do the facet counting. Use the {@code search}
  * utility methods to perform an "ordinary" search but also collect into a {@link Collector}.
  */
-// redundant 'implements Collector' to workaround javadocs bugs
-public class FacetsCollector extends SimpleCollector implements Collector {
+public class FacetsCollector extends SimpleCollector {
 
   private LeafReaderContext context;
   private Scorable scorer;
diff --git a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
index 9db8d04..f11477c 100644
--- a/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
+++ b/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/CoreParser.java
@@ -34,7 +34,7 @@ import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
 
 /** Assembles a QueryBuilder which uses only core Lucene Query objects */
-public class CoreParser implements QueryBuilder, SpanQueryBuilder {
+public class CoreParser implements SpanQueryBuilder {
 
   protected String defaultField;
   protected Analyzer analyzer;
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoCompositeMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoCompositeMembershipShape.java
index 0ab2efb..d02a149 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoCompositeMembershipShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoCompositeMembershipShape.java
@@ -24,8 +24,8 @@ import java.io.InputStream;
  *
  * @lucene.experimental
  */
-public class GeoCompositeMembershipShape extends GeoBaseCompositeMembershipShape<GeoMembershipShape>
-    implements GeoMembershipShape {
+public class GeoCompositeMembershipShape
+    extends GeoBaseCompositeMembershipShape<GeoMembershipShape> {
 
   /** Constructor. */
   public GeoCompositeMembershipShape(PlanetModel planetModel) {
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoMembershipShape.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoMembershipShape.java
index 9ee092d..dfc0459 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoMembershipShape.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/geom/GeoMembershipShape.java
@@ -21,4 +21,4 @@ package org.apache.lucene.spatial3d.geom;
  *
  * @lucene.experimental
  */
-public interface GeoMembershipShape extends GeoShape, GeoOutsideDistance, Membership {}
+public interface GeoMembershipShape extends GeoShape, GeoOutsideDistance {}
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
index 4eaf4f5..8186fe3 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java
@@ -97,8 +97,7 @@ import org.apache.lucene.util.fst.Util.TopResults;
  *
  * @lucene.experimental
  */
-// redundant 'implements Accountable' to workaround javadocs bugs
-public class AnalyzingSuggester extends Lookup implements Accountable {
+public class AnalyzingSuggester extends Lookup {
 
   /**
    * FST&lt;Weight,Surface&gt;: input is the analyzed form, with a null byte between terms weights
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
index 11c57a7..4e5ff17 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java
@@ -100,8 +100,7 @@ import org.apache.lucene.util.fst.Util.TopResults;
  *
  * @lucene.experimental
  */
-// redundant 'implements Accountable' to workaround javadocs bugs
-public class FreeTextSuggester extends Lookup implements Accountable {
+public class FreeTextSuggester extends Lookup {
 
   /** Codec name used in the header for the saved model. */
   public static final String CODEC_NAME = "freetextsuggest";
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
index fcf72b7..59335f1 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java
@@ -68,7 +68,7 @@ import org.apache.lucene.util.fst.NoOutputs;
  * @see FSTCompletion
  * @lucene.experimental
  */
-public class FSTCompletionLookup extends Lookup implements Accountable {
+public class FSTCompletionLookup extends Lookup {
   /**
    * An invalid bucket count if we're creating an object of this class from an existing FST.
    *
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
index 1b3661b..a9c3924 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java
@@ -57,8 +57,7 @@ import org.apache.lucene.util.fst.Util.TopResults;
  *
  * @lucene.experimental
  */
-// redundant 'implements Accountable' to workaround javadocs bugs
-public class WFSTCompletionLookup extends Lookup implements Accountable {
+public class WFSTCompletionLookup extends Lookup {
 
   /** FST<Long>, weights are encoded as costs: (Integer.MAX_VALUE-weight) */
   // NOTE: like FSTSuggester, this is really a WFSA, if you want to
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
index 1cf3666..f94c68d 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/jaspell/JaspellLookup.java
@@ -25,7 +25,6 @@ import org.apache.lucene.search.suggest.Lookup;
 import org.apache.lucene.search.suggest.jaspell.JaspellTernarySearchTrie.TSTNode;
 import org.apache.lucene.store.DataInput;
 import org.apache.lucene.store.DataOutput;
-import org.apache.lucene.util.Accountable;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.CharsRef;
 import org.apache.lucene.util.CharsRefBuilder;
@@ -37,7 +36,7 @@ import org.apache.lucene.util.CharsRefBuilder;
  * @deprecated Migrate to one of the newer suggesters which are much more RAM efficient.
  */
 @Deprecated
-public class JaspellLookup extends Lookup implements Accountable {
+public class JaspellLookup extends Lookup {
   JaspellTernarySearchTrie trie = new JaspellTernarySearchTrie();
   private boolean usePrefix = true;
   private int editDistance = 2;