diff --git a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
index bd5dac5..d61faeb 100644
--- a/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
+++ b/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestRandomChains.java
@@ -110,6 +110,7 @@ public class TestRandomChains extends BaseTokenStreamTestCase {
   }
 
   private static final Predicate<Object[]> ALWAYS = new Predicate<Object[]>() {
+    @Override
     public boolean apply(Object[] args) {
       return true;
     };
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
index f0d909f..a7b6f17 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/CachingNaiveBayesClassifier.java
@@ -79,6 +79,7 @@ public class CachingNaiveBayesClassifier extends SimpleNaiveBayesClassifier {
   }
 
 
+  @Override
   protected List<ClassificationResult<BytesRef>> assignClassNormalizedList(String inputDocument) throws IOException {
     String[] tokenizedText = tokenize(inputDocument);
 
diff --git a/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java b/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
index baafa01..8386788 100644
--- a/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
+++ b/lucene/classification/src/java/org/apache/lucene/classification/document/SimpleNaiveBayesDocumentClassifier.java
@@ -173,6 +173,7 @@ public class SimpleNaiveBayesDocumentClassifier extends SimpleNaiveBayesClassifi
    * @return the no. of documents having a value for the 'class' field
    * @throws java.io.IOException If accessing to term vectors or search fails
    */
+  @Override
   protected int countDocsWithClass() throws IOException {
     int docCount = MultiFields.getTerms(this.leafReader, this.classFieldName).getDocCount();
     if (docCount == -1) { // in case codec doesn't support getDocCount
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
index 4f0d1e2..138ce35 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java
@@ -225,6 +225,7 @@ public class FSTOrdTermsReader extends FieldsProducer {
       blockIn.readBytes(metaBytesBlock, 0, metaBytesBlock.length);
     }
 
+    @Override
     public boolean hasFreqs() {
       return fieldInfo.getIndexOptions().compareTo(IndexOptions.DOCS_AND_FREQS) >= 0;
     }
@@ -564,6 +565,7 @@ public class FSTOrdTermsReader extends FieldsProducer {
           this.state = -1;
         }
 
+        @Override
         public String toString() {
           return "arc=" + arc + " state=" + state;
         }
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
index 95ff20f..b8b0122 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java
@@ -435,6 +435,7 @@ public class FSTTermsReader extends FieldsProducer {
           this.fsaState = -1;
         }
 
+        @Override
         public String toString() {
           return "arc=" + fstArc + " state=" + fsaState;
         }
diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalWriter.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalWriter.java
index 268fddc..49f68a9 100644
--- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalWriter.java
+++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalWriter.java
@@ -160,6 +160,7 @@ class SimpleTextDimensionalWriter extends DimensionalWriter {
           throw new IllegalStateException();
         }
 
+       @Override
        public void visit(int docID, byte[] packedValue) throws IOException {
           writer.add(packedValue, docID);
         }
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
index 57df8aa..cd1c36c 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50CompoundReader.java
@@ -153,6 +153,7 @@ final class Lucene50CompoundReader extends Directory {
   
   /** Not implemented
    * @throws UnsupportedOperationException always: not supported by CFS */
+  @Override
   public void renameFile(String from, String to) {
     throw new UnsupportedOperationException();
   }
diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60DimensionalWriter.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60DimensionalWriter.java
index 58e9aa8..e330ed5 100644
--- a/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60DimensionalWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene60/Lucene60DimensionalWriter.java
@@ -95,6 +95,7 @@ public class Lucene60DimensionalWriter extends DimensionalWriter implements Clos
             throw new IllegalStateException();
           }
 
+          @Override
           public void visit(int docID, byte[] packedValue) throws IOException {
             writer.add(packedValue, docID);
           }
diff --git a/lucene/core/src/java/org/apache/lucene/document/FieldType.java b/lucene/core/src/java/org/apache/lucene/document/FieldType.java
index a891f5f..27852e8 100644
--- a/lucene/core/src/java/org/apache/lucene/document/FieldType.java
+++ b/lucene/core/src/java/org/apache/lucene/document/FieldType.java
@@ -135,6 +135,7 @@ public class FieldType implements IndexableFieldType  {
    * The default is <code>true</code>.
    * @see #setTokenized(boolean)
    */
+  @Override
   public boolean tokenized() {
     return this.tokenized;
   }
diff --git a/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java b/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
index e078748..a38236d 100644
--- a/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
+++ b/lucene/core/src/java/org/apache/lucene/index/FreqProxFields.java
@@ -43,6 +43,7 @@ class FreqProxFields extends Fields {
     }
   }
 
+  @Override
   public Iterator<String> iterator() {
     return fields.keySet().iterator();
   }
@@ -144,6 +145,7 @@ class FreqProxFields extends Fields {
       ord = -1;
     }
 
+    @Override
     public SeekStatus seekCeil(BytesRef text) {
       // TODO: we could instead keep the BytesRefHash
       // intact so this is a hash lookup
@@ -180,6 +182,7 @@ class FreqProxFields extends Fields {
       }
     }
 
+    @Override
     public void seekExact(long ord) {
       this.ord = (int) ord;
       int textStart = postingsArray.textStarts[sortedTermIDs[this.ord]];
@@ -284,6 +287,7 @@ class FreqProxFields extends Fields {
      * @see TermState
      * @see #seekExact(BytesRef, TermState)
      */
+    @Override
     public TermState termState() throws IOException {
       return new TermState() {
         @Override
diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java b/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java
index 0acfd6e..1fd897f 100644
--- a/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java
+++ b/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java
@@ -61,6 +61,7 @@ class MultiDimensionalValues extends DimensionalValues {
   }
 
   /** Finds all documents and points matching the provided visitor */
+  @Override
   public void intersect(String fieldName, IntersectVisitor visitor) throws IOException {
     for(int i=0;i<subs.size();i++) {
       int docBase = docBases.get(i);
diff --git a/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java b/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
index e411f66..0200e70 100644
--- a/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
+++ b/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java
@@ -100,6 +100,7 @@ public abstract class CachingCollector extends FilterCollector {
     // note: do *not* override needScore to say false. Just because we aren't caching the score doesn't mean the
     //   wrapped collector doesn't need it to do its job.
 
+    @Override
     public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException {
       postCollection();
       final LeafCollector in = this.in.getLeafCollector(context);
@@ -143,6 +144,7 @@ public abstract class CachingCollector extends FilterCollector {
       }
     }
 
+    @Override
     public void replay(Collector other) throws IOException {
       postCollection();
       if (!isCached()) {
@@ -167,6 +169,7 @@ public abstract class CachingCollector extends FilterCollector {
       scores = new ArrayList<>();
     }
 
+    @Override
     protected NoScoreCachingLeafCollector wrap(LeafCollector in, int maxDocsToCache) {
       return new ScoreCachingLeafCollector(in, maxDocsToCache);
     }
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
index c162c37..9e1407c 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
@@ -35,6 +35,7 @@ public class SpanFirstQuery extends SpanPositionRangeQuery {
     super(match, 0, end);
   }
 
+  @Override
   protected AcceptStatus acceptPosition(Spans spans) throws IOException {
     assert spans.startPosition() != spans.endPosition() : "start equals end: " + spans.startPosition();
     if (spans.startPosition() >= end)
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
index 9d47cab..e2806bc 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
@@ -164,6 +164,7 @@ public class SpanMultiTermQueryWrapper<Q extends MultiTermQuery> extends SpanQue
         return new ArrayList<SpanQuery>();
       }
 
+      @Override
       protected Query build(List<SpanQuery> builder) {
         return new SpanOrQuery(builder.toArray(new SpanQuery[builder.size()]));
       }
diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
index cf83d13..1cb3180 100644
--- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
+++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanPositionQueue.java
@@ -24,6 +24,7 @@ class SpanPositionQueue extends PriorityQueue<Spans> {
     super(maxSize, false); // do not prepopulate
   }
 
+  @Override
   protected boolean lessThan(Spans s1, Spans s2) {
     int start1 = s1.startPosition();
     int start2 = s2.startPosition();
diff --git a/lucene/core/src/java/org/apache/lucene/store/Lock.java b/lucene/core/src/java/org/apache/lucene/store/Lock.java
index 70b855b..1de8fcc 100644
--- a/lucene/core/src/java/org/apache/lucene/store/Lock.java
+++ b/lucene/core/src/java/org/apache/lucene/store/Lock.java
@@ -45,6 +45,7 @@ public abstract class Lock implements Closeable {
    * @throws LockReleaseFailedException optional specific exception) if 
    *         the lock could not be properly released.
    */
+  @Override
   public abstract void close() throws IOException;
   
   /** 
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 1313da9..2bc37aa 100644
--- a/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/FixedBitSet.java
@@ -186,6 +186,7 @@ public final class FixedBitSet extends BitSet implements MutableBits, Accountabl
     return (bits[i] & bitmask) != 0;
   }
 
+  @Override
   public void set(int index) {
     assert index >= 0 && index < numBits: "index=" + index + ", numBits=" + numBits;
     int wordNum = index >> 6;      // div 64
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 7ee1a2f..cdd6d37 100644
--- a/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
+++ b/lucene/core/src/java/org/apache/lucene/util/SparseFixedBitSet.java
@@ -135,6 +135,7 @@ public class SparseFixedBitSet extends BitSet implements Bits, Accountable {
   /**
    * Set the bit at index <tt>i</tt>.
    */
+  @Override
   public void set(int i) {
     assert consistent(i);
     final int i4096 = i >>> 12;
@@ -192,6 +193,7 @@ public class SparseFixedBitSet extends BitSet implements Bits, Accountable {
   /**
    * Clear the bit at index <tt>i</tt>.
    */
+  @Override
   public void clear(int i) {
     assert consistent(i);
     final int i4096 = i >>> 12;
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
index cbc2312..cfdea16 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/BlockPackedWriter.java
@@ -67,6 +67,7 @@ public final class BlockPackedWriter extends AbstractBlockPackedWriter {
     super(out, blockSize);
   }
 
+  @Override
   protected void flush() throws IOException {
     assert off > 0;
     long min = Long.MAX_VALUE, max = Long.MIN_VALUE;
diff --git a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
index eb3a016..95177b5 100644
--- a/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
+++ b/lucene/core/src/java/org/apache/lucene/util/packed/MonotonicBlockPackedWriter.java
@@ -70,6 +70,7 @@ public final class MonotonicBlockPackedWriter extends AbstractBlockPackedWriter
     super.add(l);
   }
 
+  @Override
   protected void flush() throws IOException {
     assert off > 0;
 
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java b/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java
index ec1fa8b..6de2ec5 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java
@@ -81,9 +81,11 @@ public class TestDimensionalValues extends LuceneTestCase {
                        public Relation compare(byte[] minPacked, byte[] maxPacked) {
                          return Relation.CELL_CROSSES_QUERY;
                        }
+                       @Override
                        public void visit(int docID) {
                          throw new IllegalStateException();
                        }
+                       @Override
                        public void visit(int docID, byte[] packedValue) {
                          seen.set(docID);
                          assertEquals(docID, NumericUtils.bytesToInt(packedValue, 0));
@@ -123,9 +125,11 @@ public class TestDimensionalValues extends LuceneTestCase {
                        public Relation compare(byte[] minPacked, byte[] maxPacked) {
                          return Relation.CELL_CROSSES_QUERY;
                        }
+                       @Override
                        public void visit(int docID) {
                          throw new IllegalStateException();
                        }
+                       @Override
                        public void visit(int docID, byte[] packedValue) {
                          seen.set(docID);
                          assertEquals(docID, NumericUtils.bytesToInt(packedValue, 0));
@@ -168,9 +172,11 @@ public class TestDimensionalValues extends LuceneTestCase {
                          public Relation compare(byte[] minPacked, byte[] maxPacked) {
                            return Relation.CELL_CROSSES_QUERY;
                          }
+                         @Override
                          public void visit(int docID) {
                            throw new IllegalStateException();
                          }
+                         @Override
                          public void visit(int docID, byte[] packedValue) {
                            if (liveDocs.get(docID)) {
                              seen.set(docID);
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
index 8dffdf8..f403452 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestLogMergePolicy.java
@@ -19,6 +19,7 @@ package org.apache.lucene.index;
 
 public class TestLogMergePolicy extends BaseMergePolicyTestCase {
 
+  @Override
   public MergePolicy mergePolicy() {
     return newLogMergePolicy(random());
   }
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java b/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
index abc6c3e..eaa7ebd 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestNRTThreads.java
@@ -36,6 +36,7 @@ public class TestNRTThreads extends ThreadedIndexingAndSearchingTestCase {
   private boolean useNonNrtReaders = true;
 
   @Before
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     useNonNrtReaders  = random().nextBoolean();
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java b/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
index cc4b383..b34bb2c 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestOrdinalMap.java
@@ -48,6 +48,7 @@ public class TestOrdinalMap extends LuceneTestCase {
 
   private static final RamUsageTester.Accumulator ORDINAL_MAP_ACCUMULATOR = new RamUsageTester.Accumulator() {
 
+    @Override
     public long accumulateObject(Object o, long shallowSize, java.util.Map<Field,Object> fieldValues, java.util.Collection<Object> queue) {
       if (o == LongValues.IDENTITY) {
         return 0L;
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTerms.java b/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
index 23f83e0..1e311c1 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTerms.java
@@ -206,14 +206,23 @@ public class TestTerms extends LuceneTestCase {
    * A complete empty Terms instance that has no terms in it and supports no optional statistics
    */
   private static Terms EMPTY_TERMS = new Terms() {
+    @Override
     public TermsEnum iterator() { return TermsEnum.EMPTY; }
+    @Override
     public long size() { return -1; }
+    @Override
     public long getSumTotalTermFreq() { return -1; }
+    @Override
     public long getSumDocFreq() { return -1; }
+    @Override
     public int getDocCount() { return -1; }
+    @Override
     public boolean hasFreqs() { return false; }
+    @Override
     public boolean hasOffsets() { return false; }
+    @Override
     public boolean hasPositions() { return false; }
+    @Override
     public boolean hasPayloads() { return false; }
   };
 }
diff --git a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
index b237f6d..b90f335 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestTieredMergePolicy.java
@@ -25,6 +25,7 @@ import org.apache.lucene.util.TestUtil;
 
 public class TestTieredMergePolicy extends BaseMergePolicyTestCase {
 
+  @Override
   public MergePolicy mergePolicy() {
     return newTieredMergePolicy();
   }
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
index 7a7dc2f..368f240 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
@@ -142,6 +142,7 @@ public class TestBooleanQueryVisitSubscorers extends LuceneTestCase {
       super(TopScoreDocCollector.create(10));
     }
 
+    @Override
     public LeafCollector getLeafCollector(LeafReaderContext context)
         throws IOException {
       final int docBase = context.docBase;
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java b/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
index db632de..b4a8dac 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestLRUQueryCache.java
@@ -100,6 +100,7 @@ public class TestLRUQueryCache extends LuceneTestCase {
     final int numDocs = atLeast(10000);
     Thread[] threads = new Thread[3];
     threads[0] = new Thread() {
+      @Override
       public void run() {
         Document doc = new Document();
         StringField f = new StringField("color", "", Store.NO);
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java b/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
index f82a067..9ead71d 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestSubScorerFreqs.java
@@ -89,6 +89,7 @@ public class TestSubScorerFreqs extends LuceneTestCase {
       subScorers.put(scorer.getWeight().getQuery(), scorer);
     }
     
+    @Override
     public LeafCollector getLeafCollector(LeafReaderContext context)
         throws IOException {
       final int docBase = context.docBase;
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java b/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
index 773adae..0e63b10 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestFileSwitchDirectory.java
@@ -97,6 +97,7 @@ public class TestFileSwitchDirectory extends BaseDirectoryTestCase {
   }
   
   // LUCENE-3380 -- make sure we get exception if the directory really does not exist.
+  @Override
   public void testNoDir() throws Throwable {
     Path primDir = createTempDir("foo");
     Path secondDir = createTempDir("bar");
diff --git a/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java b/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
index 1abbe7c..eb01851 100644
--- a/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
+++ b/lucene/core/src/test/org/apache/lucene/store/TestMultiMMap.java
@@ -293,6 +293,7 @@ public class TestMultiMMap extends BaseDirectoryTestCase {
     }
   }
 
+  @Override
   public void testSliceOfSlice() throws Exception {
     for (int i = 0; i < 10; i++) {
       MMapDirectory mmapDir = new MMapDirectory(createTempDir("testSliceOfSlice"), 1<<i);
diff --git a/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java b/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
index 129ce3b..e2db1c7 100644
--- a/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
+++ b/lucene/core/src/test/org/apache/lucene/util/TestFixedBitSet.java
@@ -316,6 +316,7 @@ public class TestFixedBitSet extends BaseBitSetTestCase<FixedBitSet> {
     doPrevSetBit(bs, obs);
   }
 
+  @Override
   public void testPrevSetBit() {
     checkPrevSetBitArray(new int[] {}, 0);
     checkPrevSetBitArray(new int[] {0}, 1);
diff --git a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
index e7d5368..a658826 100644
--- a/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
+++ b/lucene/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FastVectorHighlighterTest.java
@@ -678,6 +678,7 @@ public class FastVectorHighlighterTest extends LuceneTestCase {
     fieldAnalyzers.put( "field_sliced", fieldAnalyzers.get( "field" ) );
     fieldAnalyzers.put( "field_der_red", fieldAnalyzers.get( "field" ) );  // This is required even though we provide a token stream
     Analyzer analyzer = new DelegatingAnalyzerWrapper(Analyzer.PER_FIELD_REUSE_STRATEGY) {
+      @Override
       public Analyzer getWrappedAnalyzer(String fieldName) {
         return fieldAnalyzers.get( fieldName );
       }
diff --git a/lucene/misc/src/java/org/apache/lucene/index/Sorter.java b/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
index e99e8ee..9a06b28 100644
--- a/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
+++ b/lucene/misc/src/java/org/apache/lucene/index/Sorter.java
@@ -270,6 +270,7 @@ final class Sorter {
       return doc;
     }
 
+    @Override
     public DocIdSetIterator iterator() {
       throw new UnsupportedOperationException();
     }
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java b/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
index 07c5a95..1f6c715 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
@@ -165,6 +165,7 @@ public class DocTermOrds implements Accountable {
   protected PostingsEnum postingsEnum;
 
   /** Returns total bytes used. */
+  @Override
   public long ramBytesUsed() {
     // can cache the mem size since it shouldn't change
     if (memsz!=0) return memsz;
diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
index 85c1bba..b3263ff 100644
--- a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
+++ b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java
@@ -354,6 +354,7 @@ class FieldCacheImpl implements FieldCache {
     public long minValue;
   }
 
+  @Override
   public Bits getDocsWithField(LeafReader reader, String field) throws IOException {
     final FieldInfo fieldInfo = reader.getFieldInfos().fieldInfo(field);
     if (fieldInfo == null) {
@@ -613,10 +614,12 @@ class FieldCacheImpl implements FieldCache {
     }
   }
 
+  @Override
   public SortedDocValues getTermsIndex(LeafReader reader, String field) throws IOException {
     return getTermsIndex(reader, field, PackedInts.FAST);
   }
 
+  @Override
   public SortedDocValues getTermsIndex(LeafReader reader, String field, float acceptableOverheadRatio) throws IOException {
     SortedDocValues valuesIn = reader.getSortedDocValues(field);
     if (valuesIn != null) {
@@ -757,10 +760,12 @@ class FieldCacheImpl implements FieldCache {
 
   // TODO: this if DocTermsIndex was already created, we
   // should share it...
+  @Override
   public BinaryDocValues getTerms(LeafReader reader, String field, boolean setDocsWithField) throws IOException {
     return getTerms(reader, field, setDocsWithField, PackedInts.FAST);
   }
 
+  @Override
   public BinaryDocValues getTerms(LeafReader reader, String field, boolean setDocsWithField, float acceptableOverheadRatio) throws IOException {
     BinaryDocValues valuesIn = reader.getBinaryDocValues(field);
     if (valuesIn == null) {
@@ -882,6 +887,7 @@ class FieldCacheImpl implements FieldCache {
 
   // TODO: this if DocTermsIndex was already created, we
   // should share it...
+  @Override
   public SortedSetDocValues getDocTermOrds(LeafReader reader, String field, BytesRef prefix) throws IOException {
     // not a general purpose filtering mechanism...
     assert prefix == null || prefix == INT32_TERM_PREFIX || prefix == INT64_TERM_PREFIX;
@@ -939,10 +945,12 @@ class FieldCacheImpl implements FieldCache {
 
   private volatile PrintStream infoStream;
 
+  @Override
   public void setInfoStream(PrintStream stream) {
     infoStream = stream;
   }
 
+  @Override
   public PrintStream getInfoStream() {
     return infoStream;
   }
diff --git a/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java b/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
index 95844ff..7553c7b 100644
--- a/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
+++ b/lucene/misc/src/test/org/apache/lucene/search/TestEarlyTerminatingSortingCollector.java
@@ -258,6 +258,7 @@ public class TestEarlyTerminatingSortingCollector extends LuceneTestCase {
     public TestEarlyTerminatingSortingcollectorQueryTimeout(boolean shouldExit) {
       this.shouldExit = shouldExit;
     }
+    @Override
     public boolean shouldExit() {
       return shouldExit;
     }
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
index aeda1e1..c97fcbf 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/BytesRefFieldSource.java
@@ -63,6 +63,7 @@ public class BytesRefFieldSource extends FieldCacheSource {
           return target.length() > 0;
         }
 
+        @Override
         public String strVal(int doc) {
           final BytesRefBuilder bytes = new BytesRefBuilder();
           return bytesVal(doc, bytes)
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
index 5360028..6473ab1 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/MultiFloatFunction.java
@@ -82,6 +82,7 @@ public abstract class MultiFloatFunction extends ValueSource {
       public float floatVal(int doc) {
         return func(doc, valsArr);
       }
+      @Override
       public boolean exists(int doc) {
         return MultiFloatFunction.this.exists(doc, valsArr);
       }
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
index db7a4e0..c5b0834 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/LegacyPrefixTree.java
@@ -32,6 +32,7 @@ abstract class LegacyPrefixTree extends SpatialPrefixTree {
     super(ctx, maxLevels);
   }
 
+  @Override
   public double getDistanceForLevel(int level) {
     if (level < 1 || level > getMaxLevels())
       throw new IllegalArgumentException("Level must be in 1 to maxLevels range");
diff --git a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
index d8efe3c..a652ee5 100644
--- a/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
+++ b/lucene/spatial/src/java/org/apache/lucene/spatial/prefix/tree/NumberRangePrefixTree.java
@@ -74,6 +74,7 @@ public abstract class NumberRangePrefixTree extends SpatialPrefixTree {
    */
   public static interface NRShape extends Shape, Cloneable {
     /** The result should be parseable by {@link #parseShape(String)}. */
+    @Override
     abstract String toString();
 
     /** Returns this shape rounded to the target level. If we are already more course than the level then the shape is
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
index 9357988..7b9c8ad 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/DateNRStrategyTest.java
@@ -40,6 +40,7 @@ public class DateNRStrategyTest extends RandomSpatialOpStrategyTestCase {
   long randomCalWindowMs;
 
   @Before
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     tree = DateRangePrefixTree.INSTANCE;
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
index f6f1f0b..e2d49e3 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/HeatmapFacetCounterTest.java
@@ -52,6 +52,7 @@ public class HeatmapFacetCounterTest extends StrategyTestCase {
   int cellValidatedNonZero;
 
   @Before
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     cellsValidated = cellValidatedNonZero = 0;
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
index 6cd84c8..ca208c7 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/NumberRangeFacetsTest.java
@@ -53,6 +53,7 @@ public class NumberRangeFacetsTest extends StrategyTestCase {
   long randomCalWindowMs;
 
   @Before
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     tree = DateRangePrefixTree.INSTANCE;
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
index e5c979d..6b75fbc 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/prefix/RandomSpatialOpFuzzyPrefixTree50Test.java
@@ -20,6 +20,7 @@ package org.apache.lucene.spatial.prefix;
 /** Test RandomSpatialOpFuzzyPrefixTreeTest using the PrefixTree index format found in 5.0 and prior. */
 public class RandomSpatialOpFuzzyPrefixTree50Test extends RandomSpatialOpFuzzyPrefixTreeTest {
 
+  @Override
   protected RecursivePrefixTreeStrategy newRPT() {
     return new RecursivePrefixTreeStrategy(this.grid, getClass().getSimpleName()) {
       @Override
diff --git a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
index 47d8e32..28cd64a 100644
--- a/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
+++ b/lucene/spatial/src/test/org/apache/lucene/spatial/spatial4j/Geo3dShapeRectRelationTestCase.java
@@ -91,23 +91,28 @@ public abstract class Geo3dShapeRectRelationTestCase extends RandomizedShapeTest
 
     //20 times each -- should be plenty
 
+    @Override
     protected int getContainsMinimum(int laps) {
       return 20;
     }
 
+    @Override
     protected int getIntersectsMinimum(int laps) {
       return 20;
     }
 
     // producing "within" cases in Geo3D based on our random shapes doesn't happen often. It'd be nice to increase this.
+    @Override
     protected int getWithinMinimum(int laps) {
       return 2;
     }
 
+    @Override
     protected int getDisjointMinimum(int laps) {
       return 20;
     }
 
+    @Override
     protected int getBoundingMinimum(int laps) {
       return 20;
     }
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
index 25c8591..af3d4bf 100755
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/Plane.java
@@ -245,6 +245,7 @@ public class Plane extends Vector {
    *
    * @return the normalized plane object, or null if the plane is indeterminate.
    */
+  @Override
   public Plane normalize() {
     Vector normVect = super.normalize();
     if (normVect == null)
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
index e824acc..c0260bb 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/geo3d/XYZBounds.java
@@ -171,6 +171,7 @@ public class XYZBounds implements Bounds {
    *@param bounds are the constraints on the plane.
    *@return updated Bounds object.
    */
+  @Override
   public Bounds addHorizontalPlane(final PlanetModel planetModel,
     final double latitude,
     final Plane horizontalPlane,
@@ -187,6 +188,7 @@ public class XYZBounds implements Bounds {
    *@param bounds are the constraints on the plane.
    *@return updated Bounds object.
    */
+  @Override
   public Bounds addVerticalPlane(final PlanetModel planetModel,
     final double longitude,
     final Plane verticalPlane,
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
index c55bdac..b528d4d 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java
@@ -490,6 +490,7 @@ public class AnalyzingInfixSuggester extends Lookup implements Closeable {
    * @return the result of the suggester
    * @throws IOException f the is IO exception while reading data from the index
    */
+  @Override
   public List<LookupResult> lookup(CharSequence key, BooleanQuery contextQuery, int num, boolean allTermsRequired, boolean doHighlight) throws IOException {
 
     if (searcherMgr == null) {
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
index f1dbe87..d6725c9 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseIndexFileFormatTestCase.java
@@ -108,6 +108,7 @@ abstract class BaseIndexFileFormatTestCase extends LuceneTestCase {
       this.root = root;
     }
 
+    @Override
     public long accumulateObject(Object o, long shallowSize, Map<java.lang.reflect.Field, Object> fieldValues, Collection<Object> queue) {
       for (Class<?> clazz = o.getClass(); clazz != null; clazz = clazz.getSuperclass()) {
         if (EXCLUDED_CLASSES.contains(clazz) && o != root) {
@@ -150,6 +151,7 @@ abstract class BaseIndexFileFormatTestCase extends LuceneTestCase {
 
   private Codec savedCodec;
 
+  @Override
   public void setUp() throws Exception {
     super.setUp();
     // set the default codec, so adding test cases to this isn't fragile
@@ -157,6 +159,7 @@ abstract class BaseIndexFileFormatTestCase extends LuceneTestCase {
     Codec.setDefault(getCodec());
   }
 
+  @Override
   public void tearDown() throws Exception {
     Codec.setDefault(savedCodec); // restore
     super.tearDown();
diff --git a/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java b/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
index 5528521..0381270 100644
--- a/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
+++ b/lucene/test-framework/src/test/org/apache/lucene/util/WithNestedTests.java
@@ -83,6 +83,7 @@ public abstract class WithNestedTests {
   public static final TestRule classRules = RuleChain.outerRule(new TestRuleAdapter() {
     private TestRuleIgnoreAfterMaxFailures prevRule;
 
+    @Override
     protected void before() throws Throwable {
       if (!isPropertyEmpty(SysGlobals.SYSPROP_TESTFILTER()) ||
           !isPropertyEmpty(SysGlobals.SYSPROP_TESTCLASS())  ||
@@ -103,6 +104,7 @@ public abstract class WithNestedTests {
       RandomizedTest.assumeFalse(FailureMarker.hadFailures());
     }
 
+    @Override
     protected void afterAlways(List<Throwable> errors) throws Throwable {
       if (prevRule != null) {
         LuceneTestCase.replaceMaxFailureRule(prevRule);
diff --git a/lucene/tools/javadoc/ecj.javadocs.prefs b/lucene/tools/javadoc/ecj.javadocs.prefs
index 63f22e6..a338b25 100644
--- a/lucene/tools/javadoc/ecj.javadocs.prefs
+++ b/lucene/tools/javadoc/ecj.javadocs.prefs
@@ -47,7 +47,7 @@ org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
 org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
 org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
