diff --git a/debian/changelog b/debian/changelog
index a8b4a485..86ca9244 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libjoda-time-java (2.10.14+git20220327.1.75ab8ca-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Thu, 05 May 2022 15:53:02 -0000
+
 libjoda-time-java (2.10.14-1) unstable; urgency=medium
 
   * New upstream release
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 951908c7..034c0925 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -8,6 +8,12 @@
   <body>
 
     <!-- types are add, fix, remove, update -->
+    <release version="2.10.15" date="SNAPSHOT" description="v2.10.15">
+      <action dev="jodastephen" type="fix">
+        Avoid using == on objects.
+        Fixes #581.
+      </action>
+    </release>
     <release version="2.10.14" date="2022-03-20" description="v2.10.14">
       <action dev="jodastephen" type="update">
         DateTimeZone data updated to version 2022agtz.
diff --git a/src/main/java/org/joda/time/Chronology.java b/src/main/java/org/joda/time/Chronology.java
index 1e49d229..3fdb4f93 100644
--- a/src/main/java/org/joda/time/Chronology.java
+++ b/src/main/java/org/joda/time/Chronology.java
@@ -501,6 +501,7 @@ public abstract class Chronology {
      * 
      * @return a debugging string
      */
+    @Override
     public abstract String toString();
 
 }
diff --git a/src/main/java/org/joda/time/DateMidnight.java b/src/main/java/org/joda/time/DateMidnight.java
index addbb1e1..2d9e06ed 100644
--- a/src/main/java/org/joda/time/DateMidnight.java
+++ b/src/main/java/org/joda/time/DateMidnight.java
@@ -357,6 +357,7 @@ public final class DateMidnight
      * @param chronology  the chronology to use, not null
      * @return the updated instant, rounded to midnight
      */
+    @Override
     protected long checkInstant(long instant, Chronology chronology) {
         return chronology.dayOfMonth().roundFloor(instant);
     }
@@ -1261,6 +1262,7 @@ public final class DateMidnight
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iField;
         }
@@ -1270,6 +1272,7 @@ public final class DateMidnight
          * 
          * @return the milliseconds
          */
+        @Override
         protected long getMillis() {
             return iInstant.getMillis();
         }
@@ -1280,6 +1283,7 @@ public final class DateMidnight
          * @return the chronology
          * @since 1.4
          */
+        @Override
         protected Chronology getChronology() {
             return iInstant.getChronology();
         }
diff --git a/src/main/java/org/joda/time/DateTime.java b/src/main/java/org/joda/time/DateTime.java
index 7ce7cda5..987c1eaa 100644
--- a/src/main/java/org/joda/time/DateTime.java
+++ b/src/main/java/org/joda/time/DateTime.java
@@ -539,6 +539,7 @@ public final class DateTime
      * 
      * @return <code>this</code>
      */
+    @Override
     public DateTime toDateTime() {
         return this;
     }
@@ -549,6 +550,7 @@ public final class DateTime
      * 
      * @return a DateTime using the same millis
      */
+    @Override
     public DateTime toDateTimeISO() {
         if (getChronology() == ISOChronology.getInstance()) {
             return this;
@@ -562,6 +564,7 @@ public final class DateTime
      * @param zone time zone to apply, or default if null
      * @return a DateTime using the same millis
      */
+    @Override
     public DateTime toDateTime(DateTimeZone zone) {
         zone = DateTimeUtils.getZone(zone);
         if (getZone() == zone) {
@@ -576,6 +579,7 @@ public final class DateTime
      * @param chronology chronology to apply, or ISOChronology if null
      * @return a DateTime using the same millis
      */
+    @Override
     public DateTime toDateTime(Chronology chronology) {
         chronology = DateTimeUtils.getChronology(chronology);
         if (getChronology() == chronology) {
@@ -2120,6 +2124,7 @@ public final class DateTime
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iField;
         }
@@ -2129,6 +2134,7 @@ public final class DateTime
          * 
          * @return the milliseconds
          */
+        @Override
         protected long getMillis() {
             return iInstant.getMillis();
         }
@@ -2139,6 +2145,7 @@ public final class DateTime
          * @return the chronology
          * @since 1.4
          */
+        @Override
         protected Chronology getChronology() {
             return iInstant.getChronology();
         }
diff --git a/src/main/java/org/joda/time/DateTimeComparator.java b/src/main/java/org/joda/time/DateTimeComparator.java
index f96846c0..f01f6a22 100644
--- a/src/main/java/org/joda/time/DateTimeComparator.java
+++ b/src/main/java/org/joda/time/DateTimeComparator.java
@@ -238,6 +238,7 @@ public class DateTimeComparator implements Comparator<Object>, Serializable {
      * @param object  the object to compare to
      * @return true if equal
      */
+    @Override
     public boolean equals(Object object) {
         if (object instanceof DateTimeComparator) {
             DateTimeComparator other = (DateTimeComparator) object;
@@ -254,6 +255,7 @@ public class DateTimeComparator implements Comparator<Object>, Serializable {
      * 
      * @return the hashcode
      */
+    @Override
     public int hashCode() {
         return (iLowerLimit == null ? 0 : iLowerLimit.hashCode()) +
                (123 * (iUpperLimit == null ? 0 : iUpperLimit.hashCode()));
@@ -264,6 +266,7 @@ public class DateTimeComparator implements Comparator<Object>, Serializable {
      * 
      * @return a debugging string
      */
+    @Override
     public String toString() {
         if (iLowerLimit == iUpperLimit) {
             return "DateTimeComparator["
diff --git a/src/main/java/org/joda/time/DateTimeField.java b/src/main/java/org/joda/time/DateTimeField.java
index 021f1af6..4be68395 100644
--- a/src/main/java/org/joda/time/DateTimeField.java
+++ b/src/main/java/org/joda/time/DateTimeField.java
@@ -682,6 +682,7 @@ public abstract class DateTimeField {
      * 
      * @return debug string
      */
+    @Override
     public abstract String toString();
     
 }
diff --git a/src/main/java/org/joda/time/DateTimeFieldType.java b/src/main/java/org/joda/time/DateTimeFieldType.java
index 1085b35c..d69bd402 100644
--- a/src/main/java/org/joda/time/DateTimeFieldType.java
+++ b/src/main/java/org/joda/time/DateTimeFieldType.java
@@ -427,6 +427,7 @@ public abstract class DateTimeFieldType implements Serializable {
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return getName();
     }
@@ -460,11 +461,13 @@ public abstract class DateTimeFieldType implements Serializable {
         }
 
         /** @inheritdoc */
+        @Override
         public DurationFieldType getDurationType() {
             return iUnitType;
         }
 
         /** @inheritdoc */
+        @Override
         public DurationFieldType getRangeDurationType() {
             return iRangeType;
         }
@@ -488,6 +491,7 @@ public abstract class DateTimeFieldType implements Serializable {
         }
 
         /** @inheritdoc */
+        @Override
         public DateTimeField getField(Chronology chronology) {
             chronology = DateTimeUtils.getChronology(chronology);
 
diff --git a/src/main/java/org/joda/time/DateTimeZone.java b/src/main/java/org/joda/time/DateTimeZone.java
index 511b924e..5dd07c7c 100644
--- a/src/main/java/org/joda/time/DateTimeZone.java
+++ b/src/main/java/org/joda/time/DateTimeZone.java
@@ -1206,6 +1206,7 @@ public abstract class DateTimeZone implements Serializable {
      * @param object the object to compare with
      * @return true if equal, based on the ID and all internal rules
      */
+    @Override
     public abstract boolean equals(Object object);
 
     /**
@@ -1213,6 +1214,7 @@ public abstract class DateTimeZone implements Serializable {
      * 
      * @return suitable hashcode
      */
+    @Override
     public int hashCode() {
         return 57 + getID().hashCode();
     }
@@ -1221,6 +1223,7 @@ public abstract class DateTimeZone implements Serializable {
      * Gets the datetime zone as a string, which is simply its ID.
      * @return the id of the zone
      */
+    @Override
     public String toString() {
         return getID();
     }
@@ -1281,15 +1284,19 @@ public abstract class DateTimeZone implements Serializable {
             // initialization. Offset parser doesn't need it anyhow.
             Chronology chrono = new BaseChronology() {
                 private static final long serialVersionUID = -3128740902654445468L;
+                @Override
                 public DateTimeZone getZone() {
                     return null;
                 }
+                @Override
                 public Chronology withUTC() {
                     return this;
                 }
+                @Override
                 public Chronology withZone(DateTimeZone zone) {
                     return this;
                 }
+                @Override
                 public String toString() {
                     return getClass().getName();
                 }
diff --git a/src/main/java/org/joda/time/Days.java b/src/main/java/org/joda/time/Days.java
index e4dd1fec..44bbfb7b 100644
--- a/src/main/java/org/joda/time/Days.java
+++ b/src/main/java/org/joda/time/Days.java
@@ -231,6 +231,7 @@ public final class Days extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.days();
     }
@@ -240,6 +241,7 @@ public final class Days extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.days();
     }
@@ -483,6 +485,7 @@ public final class Days extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "P" + String.valueOf(getValue()) + "D";
diff --git a/src/main/java/org/joda/time/Duration.java b/src/main/java/org/joda/time/Duration.java
index cff18418..e5b07fe2 100644
--- a/src/main/java/org/joda/time/Duration.java
+++ b/src/main/java/org/joda/time/Duration.java
@@ -291,6 +291,7 @@ public final class Duration
      * 
      * @return <code>this</code>
      */
+    @Override
     public Duration toDuration() {
         return this;
     }
diff --git a/src/main/java/org/joda/time/DurationField.java b/src/main/java/org/joda/time/DurationField.java
index 1eace1c9..e2034014 100644
--- a/src/main/java/org/joda/time/DurationField.java
+++ b/src/main/java/org/joda/time/DurationField.java
@@ -315,6 +315,7 @@ public abstract class DurationField implements Comparable<DurationField> {
      * 
      * @return debug string
      */
+    @Override
     public abstract String toString();
     
 }
diff --git a/src/main/java/org/joda/time/DurationFieldType.java b/src/main/java/org/joda/time/DurationFieldType.java
index c94e27ba..5276c467 100644
--- a/src/main/java/org/joda/time/DurationFieldType.java
+++ b/src/main/java/org/joda/time/DurationFieldType.java
@@ -239,6 +239,7 @@ public abstract class DurationFieldType implements Serializable {
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return getName();
     }
@@ -278,6 +279,7 @@ public abstract class DurationFieldType implements Serializable {
             return (1 << iOrdinal);
         }
 
+        @Override
         public DurationField getField(Chronology chronology) {
             chronology = DateTimeUtils.getChronology(chronology);
             
diff --git a/src/main/java/org/joda/time/Hours.java b/src/main/java/org/joda/time/Hours.java
index 471c1dde..5083f04a 100644
--- a/src/main/java/org/joda/time/Hours.java
+++ b/src/main/java/org/joda/time/Hours.java
@@ -233,6 +233,7 @@ public final class Hours extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.hours();
     }
@@ -242,6 +243,7 @@ public final class Hours extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.hours();
     }
@@ -482,6 +484,7 @@ public final class Hours extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "PT" + String.valueOf(getValue()) + "H";
diff --git a/src/main/java/org/joda/time/IllegalFieldValueException.java b/src/main/java/org/joda/time/IllegalFieldValueException.java
index 6fce02bf..6215c55f 100644
--- a/src/main/java/org/joda/time/IllegalFieldValueException.java
+++ b/src/main/java/org/joda/time/IllegalFieldValueException.java
@@ -332,6 +332,7 @@ public class IllegalFieldValueException extends IllegalArgumentException {
         return iUpperBound;
     }
 
+    @Override
     public String getMessage() {
         return iMessage;
     }
diff --git a/src/main/java/org/joda/time/Instant.java b/src/main/java/org/joda/time/Instant.java
index d50e4a28..c5cfaca6 100644
--- a/src/main/java/org/joda/time/Instant.java
+++ b/src/main/java/org/joda/time/Instant.java
@@ -168,6 +168,7 @@ public final class Instant
      * 
      * @return <code>this</code>
      */
+    @Override
     public Instant toInstant() {
         return this;
     }
@@ -316,6 +317,7 @@ public final class Instant
      *
      * @return a DateTime using the same millis
      */
+    @Override
     public DateTime toDateTime() {
         return new DateTime(getMillis(), ISOChronology.getInstance());
     }
@@ -342,6 +344,7 @@ public final class Instant
      * @return a DateTime using the same millis with ISOChronology
      * @deprecated Use toDateTime() as it is identical
      */
+    @Override
     @Deprecated
     public DateTime toDateTimeISO() {
         return toDateTime();
@@ -362,6 +365,7 @@ public final class Instant
      *
      * @return a MutableDateTime using the same millis
      */
+    @Override
     public MutableDateTime toMutableDateTime() {
         return new MutableDateTime(getMillis(), ISOChronology.getInstance());
     }
@@ -388,6 +392,7 @@ public final class Instant
      * @return a MutableDateTime using the same millis with ISOChronology
      * @deprecated Use toMutableDateTime() as it is identical
      */
+    @Override
     @Deprecated
     public MutableDateTime toMutableDateTimeISO() {
         return toMutableDateTime();
diff --git a/src/main/java/org/joda/time/Interval.java b/src/main/java/org/joda/time/Interval.java
index 74a2f84c..769935f2 100644
--- a/src/main/java/org/joda/time/Interval.java
+++ b/src/main/java/org/joda/time/Interval.java
@@ -296,6 +296,7 @@ public final class Interval
      *
      * @return <code>this</code>
      */
+    @Override
     public Interval toInterval() {
         return this;
     }
diff --git a/src/main/java/org/joda/time/LocalDate.java b/src/main/java/org/joda/time/LocalDate.java
index d2acdc61..8d141bfe 100644
--- a/src/main/java/org/joda/time/LocalDate.java
+++ b/src/main/java/org/joda/time/LocalDate.java
@@ -495,6 +495,7 @@ public final class LocalDate
      * @param chrono  the chronology to use
      * @return the field
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
             case YEAR:
@@ -548,6 +549,7 @@ public final class LocalDate
      * @return the value of that field
      * @throws IllegalArgumentException if the field type is null or unsupported
      */
+    @Override
     public int get(DateTimeFieldType fieldType) {
         if (fieldType == null) {
             throw new IllegalArgumentException("The DateTimeFieldType must not be null");
@@ -566,6 +568,7 @@ public final class LocalDate
      * @param type  a field type, usually obtained from DateTimeFieldType
      * @return true if the field type is supported
      */
+    @Override
     public boolean isSupported(DateTimeFieldType type) {
         if (type == null) {
             return false;
@@ -606,6 +609,7 @@ public final class LocalDate
      * @return the number of milliseconds since 1970-01-01T00:00:00
      * @since 1.5 (previously private)
      */
+    @Override
     protected long getLocalMillis() {
         return iLocalMillis;
     }
@@ -627,6 +631,7 @@ public final class LocalDate
      * @param partial  an object to check against
      * @return true if fields and values are equal
      */
+    @Override
     public boolean equals(Object partial) {
         // override to perform faster
         if (this == partial) {
@@ -646,6 +651,7 @@ public final class LocalDate
      *
      * @return a suitable hash code
      */
+    @Override
     public int hashCode() {
         // override for performance
         int hash = iHash;
@@ -671,6 +677,7 @@ public final class LocalDate
      *  or if it has field types that don't match
      * @throws NullPointerException if the partial is null
      */
+    @Override
     public int compareTo(ReadablePartial partial) {
         // override to perform faster
         if (this == partial) {
@@ -1827,6 +1834,7 @@ public final class LocalDate
      *
      * @return ISO8601 time formatted string.
      */
+    @Override
     @ToString
     public String toString() {
         return ISODateTimeFormat.date().print(this);
@@ -1932,6 +1940,7 @@ public final class LocalDate
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iField;
         }
@@ -1941,6 +1950,7 @@ public final class LocalDate
          * 
          * @return the milliseconds
          */
+        @Override
         protected long getMillis() {
             return iInstant.getLocalMillis();
         }
@@ -1951,6 +1961,7 @@ public final class LocalDate
          * @return the chronology
          * @since 1.4
          */
+        @Override
         protected Chronology getChronology() {
             return iInstant.getChronology();
         }
diff --git a/src/main/java/org/joda/time/LocalDateTime.java b/src/main/java/org/joda/time/LocalDateTime.java
index bd263260..cdbafb42 100644
--- a/src/main/java/org/joda/time/LocalDateTime.java
+++ b/src/main/java/org/joda/time/LocalDateTime.java
@@ -548,6 +548,7 @@ public final class LocalDateTime
      * @param chrono  the chronology to use
      * @return the field
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
             case YEAR:
@@ -603,6 +604,7 @@ public final class LocalDateTime
      * @return the value of that field
      * @throws IllegalArgumentException if the field type is null
      */
+    @Override
     public int get(DateTimeFieldType type) {
         if (type == null) {
             throw new IllegalArgumentException("The DateTimeFieldType must not be null");
@@ -618,6 +620,7 @@ public final class LocalDateTime
      * @param type  a field type, usually obtained from DateTimeFieldType
      * @return true if the field type is supported
      */
+    @Override
     public boolean isSupported(DateTimeFieldType type) {
         if (type == null) {
             return false;
@@ -647,6 +650,7 @@ public final class LocalDateTime
      * @return the number of milliseconds since 1970-01-01T00:00:00
      * @since 1.5 (previously private)
      */
+    @Override
     protected long getLocalMillis() {
         return iLocalMillis;
     }
@@ -668,6 +672,7 @@ public final class LocalDateTime
      * @param partial  an object to check against
      * @return true if fields and values are equal
      */
+    @Override
     public boolean equals(Object partial) {
         // override to perform faster
         if (this == partial) {
@@ -698,6 +703,7 @@ public final class LocalDateTime
      *  or if it has field types that don't match
      * @throws NullPointerException if the partial is null
      */
+    @Override
     public int compareTo(ReadablePartial partial) {
         // override to perform faster
         if (this == partial) {
@@ -2082,6 +2088,7 @@ public final class LocalDateTime
      * 
      * @return ISO8601 time formatted string.
      */
+    @Override
     @ToString
     public String toString() {
         return ISODateTimeFormat.dateTime().print(this);
@@ -2188,6 +2195,7 @@ public final class LocalDateTime
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iField;
         }
@@ -2197,6 +2205,7 @@ public final class LocalDateTime
          * 
          * @return the milliseconds
          */
+        @Override
         protected long getMillis() {
             return iInstant.getLocalMillis();
         }
@@ -2207,6 +2216,7 @@ public final class LocalDateTime
          * @return the chronology
          * @since 1.4
          */
+        @Override
         protected Chronology getChronology() {
             return iInstant.getChronology();
         }
diff --git a/src/main/java/org/joda/time/LocalTime.java b/src/main/java/org/joda/time/LocalTime.java
index ce709824..97998226 100644
--- a/src/main/java/org/joda/time/LocalTime.java
+++ b/src/main/java/org/joda/time/LocalTime.java
@@ -544,6 +544,7 @@ public final class LocalTime
      * @param chrono  the chronology to use
      * @return the field
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
             case HOUR_OF_DAY:
@@ -600,6 +601,7 @@ public final class LocalTime
      * @return the value of that field
      * @throws IllegalArgumentException if the field type is null
      */
+    @Override
     public int get(DateTimeFieldType fieldType) {
         if (fieldType == null) {
             throw new IllegalArgumentException("The DateTimeFieldType must not be null");
@@ -618,6 +620,7 @@ public final class LocalTime
      * @param type  a field type, usually obtained from DateTimeFieldType
      * @return true if the field type is supported
      */
+    @Override
     public boolean isSupported(DateTimeFieldType type) {
         if (type == null) {
             return false;
@@ -656,6 +659,7 @@ public final class LocalTime
      * @return the number of milliseconds since 1970-01-01T00:00:00
      * @since 1.5 (previously private)
      */
+    @Override
     protected long getLocalMillis() {
         return iLocalMillis;
     }
@@ -677,6 +681,7 @@ public final class LocalTime
      * @param partial  an object to check against
      * @return true if fields and values are equal
      */
+    @Override
     public boolean equals(Object partial) {
         // override to perform faster
         if (this == partial) {
@@ -707,6 +712,7 @@ public final class LocalTime
      *  or if it has field types that don't match
      * @throws NullPointerException if the partial is null
      */
+    @Override
     public int compareTo(ReadablePartial partial) {
         // override to perform faster
         if (this == partial) {
@@ -1294,6 +1300,7 @@ public final class LocalTime
      * 
      * @return ISO8601 time formatted string.
      */
+    @Override
     @ToString
     public String toString() {
         return ISODateTimeFormat.time().print(this);
@@ -1398,6 +1405,7 @@ public final class LocalTime
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iField;
         }
@@ -1407,6 +1415,7 @@ public final class LocalTime
          * 
          * @return the milliseconds
          */
+        @Override
         protected long getMillis() {
             return iInstant.getLocalMillis();
         }
@@ -1417,6 +1426,7 @@ public final class LocalTime
          * @return the chronology
          * @since 1.4
          */
+        @Override
         protected Chronology getChronology() {
             return iInstant.getChronology();
         }
diff --git a/src/main/java/org/joda/time/Minutes.java b/src/main/java/org/joda/time/Minutes.java
index 302c51db..62726068 100644
--- a/src/main/java/org/joda/time/Minutes.java
+++ b/src/main/java/org/joda/time/Minutes.java
@@ -213,6 +213,7 @@ public final class Minutes extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.minutes();
     }
@@ -222,6 +223,7 @@ public final class Minutes extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.minutes();
     }
@@ -463,6 +465,7 @@ public final class Minutes extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "PT" + String.valueOf(getValue()) + "M";
diff --git a/src/main/java/org/joda/time/MonthDay.java b/src/main/java/org/joda/time/MonthDay.java
index bc9b6977..54374048 100644
--- a/src/main/java/org/joda/time/MonthDay.java
+++ b/src/main/java/org/joda/time/MonthDay.java
@@ -404,6 +404,7 @@ public final class MonthDay
      * @param chrono  the chronology to use
      * @return the field, never null
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
         case MONTH_OF_YEAR:
@@ -422,6 +423,7 @@ public final class MonthDay
      * @return the field at the specified index, never null
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     public DateTimeFieldType getFieldType(int index) {
         return FIELD_TYPES[index];
     }
@@ -433,6 +435,7 @@ public final class MonthDay
      *
      * @return the array of field types (cloned), largest to smallest, never null
      */
+    @Override
     public DateTimeFieldType[] getFieldTypes() {
         return (DateTimeFieldType[]) FIELD_TYPES.clone();
     }
@@ -778,6 +781,7 @@ public final class MonthDay
      *
      * @return ISO8601 time formatted string.
      */
+    @Override
     @ToString
     public String toString() {
         List<DateTimeFieldType> fields = new ArrayList<DateTimeFieldType>();
@@ -792,6 +796,7 @@ public final class MonthDay
      * @param pattern  the pattern specification, null means use <code>toString</code>
      * @see org.joda.time.format.DateTimeFormat
      */
+    @Override
     public String toString(String pattern) {
         if (pattern == null) {
             return toString();
@@ -806,6 +811,7 @@ public final class MonthDay
      * @param locale  Locale to use, null means default
      * @see org.joda.time.format.DateTimeFormat
      */
+    @Override
     public String toString(String pattern, Locale locale) throws IllegalArgumentException {
         if (pattern == null) {
             return toString();
@@ -849,6 +855,7 @@ public final class MonthDay
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iBase.getField(iFieldIndex);
         }
@@ -858,6 +865,7 @@ public final class MonthDay
          * 
          * @return the partial
          */
+        @Override
         protected ReadablePartial getReadablePartial() {
             return iBase;
         }
@@ -876,6 +884,7 @@ public final class MonthDay
          * 
          * @return the field value
          */
+        @Override
         public int get() {
             return iBase.getValue(iFieldIndex);
         }
diff --git a/src/main/java/org/joda/time/Months.java b/src/main/java/org/joda/time/Months.java
index 034f1880..a7941ab9 100644
--- a/src/main/java/org/joda/time/Months.java
+++ b/src/main/java/org/joda/time/Months.java
@@ -234,6 +234,7 @@ public final class Months extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.months();
     }
@@ -243,6 +244,7 @@ public final class Months extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.months();
     }
@@ -397,6 +399,7 @@ public final class Months extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "P" + String.valueOf(getValue()) + "M";
diff --git a/src/main/java/org/joda/time/MutableDateTime.java b/src/main/java/org/joda/time/MutableDateTime.java
index d24dd95e..1b664321 100644
--- a/src/main/java/org/joda/time/MutableDateTime.java
+++ b/src/main/java/org/joda/time/MutableDateTime.java
@@ -449,6 +449,7 @@ public class MutableDateTime
      * @param instant  the milliseconds since 1970-01-01T00:00:00Z to set the
      * datetime to
      */
+    @Override
     public void setMillis(long instant) {
         switch (iRoundingMode) {
             case ROUND_NONE:
@@ -558,6 +559,7 @@ public class MutableDateTime
      * 
      * @param chronology  the chronology to use, null means ISOChronology in default zone
      */
+    @Override
     public void setChronology(Chronology chronology) {
         super.setChronology(chronology);
     }
@@ -1245,6 +1247,7 @@ public class MutableDateTime
      *
      * @return a clone of this object.
      */
+    @Override
     public Object clone() {
         try {
             return super.clone();
@@ -1318,6 +1321,7 @@ public class MutableDateTime
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iField;
         }
@@ -1327,6 +1331,7 @@ public class MutableDateTime
          * 
          * @return the milliseconds
          */
+        @Override
         protected long getMillis() {
             return iInstant.getMillis();
         }
@@ -1337,6 +1342,7 @@ public class MutableDateTime
          * @return the chronology
          * @since 1.4
          */
+        @Override
         protected Chronology getChronology() {
             return iInstant.getChronology();
         }
diff --git a/src/main/java/org/joda/time/MutableInterval.java b/src/main/java/org/joda/time/MutableInterval.java
index 38715c02..5d9c1931 100644
--- a/src/main/java/org/joda/time/MutableInterval.java
+++ b/src/main/java/org/joda/time/MutableInterval.java
@@ -403,6 +403,7 @@ public class MutableInterval
      *
      * @return a clone of this object.
      */
+    @Override
     public Object clone() {
         try {
             return super.clone();
diff --git a/src/main/java/org/joda/time/MutablePeriod.java b/src/main/java/org/joda/time/MutablePeriod.java
index 5ae6e940..3c59b56d 100644
--- a/src/main/java/org/joda/time/MutablePeriod.java
+++ b/src/main/java/org/joda/time/MutablePeriod.java
@@ -441,6 +441,7 @@ public class MutablePeriod
      * @param value  the new value for the field
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     public void setValue(int index, int value) {
         super.setValue(index, value);
     }
@@ -464,6 +465,7 @@ public class MutablePeriod
      * @param period  the period to set, null means zero length period
      * @throws IllegalArgumentException if an unsupported field's value is non-zero
      */
+    @Override
     public void setPeriod(ReadablePeriod period) {
         super.setPeriod(period);
     }
@@ -481,6 +483,7 @@ public class MutablePeriod
      * @param millis  amount of milliseconds in this period, which must be zero if unsupported
      * @throws IllegalArgumentException if an unsupported field's value is non-zero
      */
+    @Override
     public void setPeriod(int years, int months, int weeks, int days,
                           int hours, int minutes, int seconds, int millis) {
         super.setPeriod(years, months, weeks, days, hours, minutes, seconds, millis);
@@ -732,6 +735,7 @@ public class MutablePeriod
      * @param period  the period to set, null ignored
      * @throws IllegalArgumentException if an unsupported field's value is non-zero
      */
+    @Override
     public void mergePeriod(ReadablePeriod period) {
         super.mergePeriod(period);
     }
@@ -1002,6 +1006,7 @@ public class MutablePeriod
      *
      * @return a clone of this object.
      */
+    @Override
     public Object clone() {
         try {
             return super.clone();
diff --git a/src/main/java/org/joda/time/Partial.java b/src/main/java/org/joda/time/Partial.java
index 7b589f79..dd1b6098 100644
--- a/src/main/java/org/joda/time/Partial.java
+++ b/src/main/java/org/joda/time/Partial.java
@@ -354,6 +354,7 @@ public final class Partial
      * @return the field
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         return iTypes[index].getField(chrono);
     }
@@ -365,6 +366,7 @@ public final class Partial
      * @return the field at the specified index
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     public DateTimeFieldType getFieldType(int index) {
         return iTypes[index];
     }
@@ -377,6 +379,7 @@ public final class Partial
      *
      * @return the array of field types (cloned), largest to smallest
      */
+    @Override
     public DateTimeFieldType[] getFieldTypes() {
         return (DateTimeFieldType[]) iTypes.clone();
     }
@@ -402,6 +405,7 @@ public final class Partial
      *
      * @return the current values of each field (cloned), largest to smallest
      */
+    @Override
     public int[] getValues() {
         return (int[]) iValues.clone();
     }
@@ -765,6 +769,7 @@ public final class Partial
      * 
      * @return ISO8601 formatted string
      */
+    @Override
     public String toString() {
         DateTimeFormatter[] f = iFormatter;
         if (f == null) {
@@ -871,6 +876,7 @@ public final class Partial
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iPartial.getField(iFieldIndex);
         }
@@ -880,6 +886,7 @@ public final class Partial
          * 
          * @return the partial
          */
+        @Override
         protected ReadablePartial getReadablePartial() {
             return iPartial;
         }
@@ -898,6 +905,7 @@ public final class Partial
          * 
          * @return the field value
          */
+        @Override
         public int get() {
             return iPartial.getValue(iFieldIndex);
         }
diff --git a/src/main/java/org/joda/time/Period.java b/src/main/java/org/joda/time/Period.java
index b5618516..9726aa8a 100644
--- a/src/main/java/org/joda/time/Period.java
+++ b/src/main/java/org/joda/time/Period.java
@@ -267,7 +267,7 @@ public final class Period
                 throw new IllegalArgumentException("ReadablePartial objects must have the same set of fields");
             }
             types[i] = start.getFieldType(i).getDurationType();
-            if (i > 0 && types[i - 1] == types[i]) {
+            if (i > 0 && types[i - 1].equals(types[i])) {
                 throw new IllegalArgumentException("ReadablePartial objects must not have overlapping fields");
             }
             values[i] = end.getValue(i) - start.getValue(i);
@@ -743,6 +743,7 @@ public final class Period
      * 
      * @return <code>this</code>
      */
+    @Override
     public Period toPeriod() {
         return this;
     }
diff --git a/src/main/java/org/joda/time/PeriodType.java b/src/main/java/org/joda/time/PeriodType.java
index e06b3793..8528c1d6 100644
--- a/src/main/java/org/joda/time/PeriodType.java
+++ b/src/main/java/org/joda/time/PeriodType.java
@@ -646,7 +646,7 @@ public class PeriodType implements Serializable {
      */
     public int indexOf(DurationFieldType type) {
         for (int i = 0, isize = size(); i < isize; i++) {
-            if (iTypes[i] == type) {
+            if (iTypes[i].equals(type)) {
                 return i;
             }
         }
@@ -658,6 +658,7 @@ public class PeriodType implements Serializable {
      * 
      * @return a string
      */
+    @Override
     public String toString() {
         return "PeriodType[" + getName() + "]";
     }
@@ -831,6 +832,7 @@ public class PeriodType implements Serializable {
      * @param obj  the object to compare to
      * @return true if equal
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -847,6 +849,7 @@ public class PeriodType implements Serializable {
      * 
      * @return a suitable hashcode
      */
+    @Override
     public int hashCode() {
         int hash = 0;
         for (int i = 0; i < iTypes.length; i++) {
diff --git a/src/main/java/org/joda/time/Seconds.java b/src/main/java/org/joda/time/Seconds.java
index 47f20bce..ff88a14f 100644
--- a/src/main/java/org/joda/time/Seconds.java
+++ b/src/main/java/org/joda/time/Seconds.java
@@ -213,6 +213,7 @@ public final class Seconds extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.seconds();
     }
@@ -222,6 +223,7 @@ public final class Seconds extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.seconds();
     }
@@ -463,6 +465,7 @@ public final class Seconds extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "PT" + String.valueOf(getValue()) + "S";
diff --git a/src/main/java/org/joda/time/TimeOfDay.java b/src/main/java/org/joda/time/TimeOfDay.java
index 1fcef029..643f4124 100644
--- a/src/main/java/org/joda/time/TimeOfDay.java
+++ b/src/main/java/org/joda/time/TimeOfDay.java
@@ -438,6 +438,7 @@ public final class TimeOfDay
      * @param chrono  the chronology to use
      * @return the field
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
             case HOUR_OF_DAY:
@@ -460,6 +461,7 @@ public final class TimeOfDay
      * @return the field at the specified index
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     public DateTimeFieldType getFieldType(int index) {
         return FIELD_TYPES[index];
     }
@@ -471,6 +473,7 @@ public final class TimeOfDay
      *
      * @return the array of field types (cloned), largest to smallest
      */
+    @Override
     public DateTimeFieldType[] getFieldTypes() {
         return (DateTimeFieldType[]) FIELD_TYPES.clone();
     }
@@ -1000,6 +1003,7 @@ public final class TimeOfDay
      * 
      * @return ISO8601 formatted string
      */
+    @Override
     public String toString() {
         return ISODateTimeFormat.tTime().print(this);
     }
@@ -1042,6 +1046,7 @@ public final class TimeOfDay
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iTimeOfDay.getField(iFieldIndex);
         }
@@ -1051,6 +1056,7 @@ public final class TimeOfDay
          * 
          * @return the partial
          */
+        @Override
         protected ReadablePartial getReadablePartial() {
             return iTimeOfDay;
         }
@@ -1069,6 +1075,7 @@ public final class TimeOfDay
          * 
          * @return the field value
          */
+        @Override
         public int get() {
             return iTimeOfDay.getValue(iFieldIndex);
         }
diff --git a/src/main/java/org/joda/time/Weeks.java b/src/main/java/org/joda/time/Weeks.java
index da9f420a..a29b7360 100644
--- a/src/main/java/org/joda/time/Weeks.java
+++ b/src/main/java/org/joda/time/Weeks.java
@@ -213,6 +213,7 @@ public final class Weeks extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.weeks();
     }
@@ -222,6 +223,7 @@ public final class Weeks extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.weeks();
     }
@@ -469,6 +471,7 @@ public final class Weeks extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "P" + String.valueOf(getValue()) + "W";
diff --git a/src/main/java/org/joda/time/YearMonth.java b/src/main/java/org/joda/time/YearMonth.java
index 3d4fd4eb..75d349e9 100644
--- a/src/main/java/org/joda/time/YearMonth.java
+++ b/src/main/java/org/joda/time/YearMonth.java
@@ -396,6 +396,7 @@ public final class YearMonth
      * @param chrono  the chronology to use
      * @return the field, never null
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
             case YEAR:
@@ -414,6 +415,7 @@ public final class YearMonth
      * @return the field at the specified index, never null
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     public DateTimeFieldType getFieldType(int index) {
         return FIELD_TYPES[index];
     }
@@ -425,6 +427,7 @@ public final class YearMonth
      *
      * @return the array of field types (cloned), largest to smallest, never null
      */
+    @Override
     public DateTimeFieldType[] getFieldTypes() {
         return (DateTimeFieldType[]) FIELD_TYPES.clone();
     }
@@ -792,6 +795,7 @@ public final class YearMonth
      *
      * @return ISO8601 time formatted string.
      */
+    @Override
     @ToString
     public String toString() {
         return ISODateTimeFormat.yearMonth().print(this);
@@ -803,6 +807,7 @@ public final class YearMonth
      * @param pattern  the pattern specification, null means use <code>toString</code>
      * @see org.joda.time.format.DateTimeFormat
      */
+    @Override
     public String toString(String pattern) {
         if (pattern == null) {
             return toString();
@@ -817,6 +822,7 @@ public final class YearMonth
      * @param locale  Locale to use, null means default
      * @see org.joda.time.format.DateTimeFormat
      */
+    @Override
     public String toString(String pattern, Locale locale) throws IllegalArgumentException {
         if (pattern == null) {
             return toString();
@@ -860,6 +866,7 @@ public final class YearMonth
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iBase.getField(iFieldIndex);
         }
@@ -869,6 +876,7 @@ public final class YearMonth
          * 
          * @return the partial
          */
+        @Override
         protected ReadablePartial getReadablePartial() {
             return iBase;
         }
@@ -887,6 +895,7 @@ public final class YearMonth
          * 
          * @return the field value
          */
+        @Override
         public int get() {
             return iBase.getValue(iFieldIndex);
         }
diff --git a/src/main/java/org/joda/time/YearMonthDay.java b/src/main/java/org/joda/time/YearMonthDay.java
index cf4ddf43..46eb9aa3 100644
--- a/src/main/java/org/joda/time/YearMonthDay.java
+++ b/src/main/java/org/joda/time/YearMonthDay.java
@@ -327,6 +327,7 @@ public final class YearMonthDay
      * @param chrono  the chronology to use
      * @return the field
      */
+    @Override
     protected DateTimeField getField(int index, Chronology chrono) {
         switch (index) {
             case YEAR:
@@ -347,6 +348,7 @@ public final class YearMonthDay
      * @return the field at the specified index
      * @throws IndexOutOfBoundsException if the index is invalid
      */
+    @Override
     public DateTimeFieldType getFieldType(int index) {
         return FIELD_TYPES[index];
     }
@@ -358,6 +360,7 @@ public final class YearMonthDay
      *
      * @return the array of field types (cloned), largest to smallest
      */
+    @Override
     public DateTimeFieldType[] getFieldTypes() {
         return (DateTimeFieldType[]) FIELD_TYPES.clone();
     }
@@ -915,6 +918,7 @@ public final class YearMonthDay
      * 
      * @return ISO8601 formatted string
      */
+    @Override
     public String toString() {
         return ISODateTimeFormat.yearMonthDay().print(this);
     }
@@ -957,6 +961,7 @@ public final class YearMonthDay
          * 
          * @return the field
          */
+        @Override
         public DateTimeField getField() {
             return iYearMonthDay.getField(iFieldIndex);
         }
@@ -966,6 +971,7 @@ public final class YearMonthDay
          * 
          * @return the partial
          */
+        @Override
         protected ReadablePartial getReadablePartial() {
             return iYearMonthDay;
         }
@@ -984,6 +990,7 @@ public final class YearMonthDay
          * 
          * @return the field value
          */
+        @Override
         public int get() {
             return iYearMonthDay.getValue(iFieldIndex);
         }
diff --git a/src/main/java/org/joda/time/Years.java b/src/main/java/org/joda/time/Years.java
index d78289b9..427f4e27 100644
--- a/src/main/java/org/joda/time/Years.java
+++ b/src/main/java/org/joda/time/Years.java
@@ -190,6 +190,7 @@ public final class Years extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public DurationFieldType getFieldType() {
         return DurationFieldType.years();
     }
@@ -199,6 +200,7 @@ public final class Years extends BaseSingleFieldPeriod {
      *
      * @return the period type
      */
+    @Override
     public PeriodType getPeriodType() {
         return PeriodType.years();
     }
@@ -353,6 +355,7 @@ public final class Years extends BaseSingleFieldPeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return "P" + String.valueOf(getValue()) + "Y";
diff --git a/src/main/java/org/joda/time/base/AbstractDateTime.java b/src/main/java/org/joda/time/base/AbstractDateTime.java
index ce31b3a6..b3ed5cde 100644
--- a/src/main/java/org/joda/time/base/AbstractDateTime.java
+++ b/src/main/java/org/joda/time/base/AbstractDateTime.java
@@ -63,6 +63,7 @@ public abstract class AbstractDateTime
      * @return the value of that field
      * @throws IllegalArgumentException if the field type is null
      */
+    @Override
     public int get(DateTimeFieldType type) {
         if (type == null) {
             throw new IllegalArgumentException("The DateTimeFieldType must not be null");
@@ -309,6 +310,7 @@ public abstract class AbstractDateTime
      * 
      * @return ISO8601 time formatted string, not null
      */
+    @Override
     @ToString
     public String toString() {
         return super.toString();
diff --git a/src/main/java/org/joda/time/base/AbstractDuration.java b/src/main/java/org/joda/time/base/AbstractDuration.java
index abb435e7..7ea1e652 100644
--- a/src/main/java/org/joda/time/base/AbstractDuration.java
+++ b/src/main/java/org/joda/time/base/AbstractDuration.java
@@ -165,6 +165,7 @@ public abstract class AbstractDuration implements ReadableDuration {
      * @param duration  a readable duration to check against
      * @return true if the length of the duration is equal
      */
+    @Override
     public boolean equals(Object duration) {
         if (this == duration) {
             return true;
@@ -182,6 +183,7 @@ public abstract class AbstractDuration implements ReadableDuration {
      *
      * @return a hash code
      */
+    @Override
     public int hashCode() {
         long len = getMillis();
         return (int) (len ^ (len >>> 32));
@@ -199,6 +201,7 @@ public abstract class AbstractDuration implements ReadableDuration {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         long millis = getMillis();
diff --git a/src/main/java/org/joda/time/base/AbstractInstant.java b/src/main/java/org/joda/time/base/AbstractInstant.java
index 6344248f..edd25a85 100644
--- a/src/main/java/org/joda/time/base/AbstractInstant.java
+++ b/src/main/java/org/joda/time/base/AbstractInstant.java
@@ -254,6 +254,7 @@ public abstract class AbstractInstant implements ReadableInstant {
      * @return true if millisecond and chronology are equal, false if
      *  not or the instant is null or of an incorrect type
      */
+    @Override
     public boolean equals(Object readableInstant) {
         // must be to fulfil ReadableInstant contract
         if (this == readableInstant) {
@@ -273,6 +274,7 @@ public abstract class AbstractInstant implements ReadableInstant {
      *
      * @return a suitable hash code
      */
+    @Override
     public int hashCode() {
         // must be to fulfil ReadableInstant contract
         return
@@ -419,6 +421,7 @@ public abstract class AbstractInstant implements ReadableInstant {
      * 
      * @return ISO8601 time formatted string, not null
      */
+    @Override
     @ToString
     public String toString() {
         return ISODateTimeFormat.dateTime().print(this);
diff --git a/src/main/java/org/joda/time/base/AbstractInterval.java b/src/main/java/org/joda/time/base/AbstractInterval.java
index 8486f36f..69c1297b 100644
--- a/src/main/java/org/joda/time/base/AbstractInterval.java
+++ b/src/main/java/org/joda/time/base/AbstractInterval.java
@@ -460,6 +460,7 @@ public abstract class AbstractInterval implements ReadableInterval {
      * @return true if the intervals are equal comparing the start millis,
      *  end millis and chronology
      */
+    @Override
     public boolean equals(Object readableInterval) {
         if (this == readableInterval) {
             return true;
@@ -479,6 +480,7 @@ public abstract class AbstractInterval implements ReadableInterval {
      *
      * @return suitable hashcode
      */
+    @Override
     public int hashCode() {
         long start = getStartMillis();
         long end = getEndMillis();
@@ -496,6 +498,7 @@ public abstract class AbstractInterval implements ReadableInterval {
      *
      * @return re-parsable string (in the default zone)
      */
+    @Override
     public String toString() {
         DateTimeFormatter printer = ISODateTimeFormat.dateTime();
         printer = printer.withChronology(getChronology());
diff --git a/src/main/java/org/joda/time/base/AbstractPartial.java b/src/main/java/org/joda/time/base/AbstractPartial.java
index b6f81627..59073983 100644
--- a/src/main/java/org/joda/time/base/AbstractPartial.java
+++ b/src/main/java/org/joda/time/base/AbstractPartial.java
@@ -251,6 +251,7 @@ public abstract class AbstractPartial
      * @param partial  an object to check against
      * @return true if fields and values are equal
      */
+    @Override
     public boolean equals(Object partial) {
         if (this == partial) {
             return true;
@@ -276,6 +277,7 @@ public abstract class AbstractPartial
      *
      * @return a suitable hash code
      */
+    @Override
     public int hashCode() {
         int total = 157;
         for (int i = 0, isize = size(); i < isize; i++) {
diff --git a/src/main/java/org/joda/time/base/AbstractPeriod.java b/src/main/java/org/joda/time/base/AbstractPeriod.java
index 6e5ece56..42e973bd 100644
--- a/src/main/java/org/joda/time/base/AbstractPeriod.java
+++ b/src/main/java/org/joda/time/base/AbstractPeriod.java
@@ -179,6 +179,7 @@ public abstract class AbstractPeriod implements ReadablePeriod {
      * @return true if all the field values are equal, false if
      *  not or the period is null or of an incorrect type
      */
+    @Override
     public boolean equals(Object period) {
         if (this == period) {
             return true;
@@ -203,6 +204,7 @@ public abstract class AbstractPeriod implements ReadablePeriod {
      *
      * @return a hash code
      */
+    @Override
     public int hashCode() {
         int total = 17;
         for (int i = 0, isize = size(); i < isize; i++) {
@@ -223,6 +225,7 @@ public abstract class AbstractPeriod implements ReadablePeriod {
      *
      * @return the value as an ISO8601 string
      */
+    @Override
     @ToString
     public String toString() {
         return ISOPeriodFormat.standard().print(this);
diff --git a/src/main/java/org/joda/time/base/BasePartial.java b/src/main/java/org/joda/time/base/BasePartial.java
index d711a525..9771f55b 100644
--- a/src/main/java/org/joda/time/base/BasePartial.java
+++ b/src/main/java/org/joda/time/base/BasePartial.java
@@ -233,6 +233,7 @@ public abstract class BasePartial
      *
      * @return the current values of each field (cloned), largest to smallest
      */
+    @Override
     public int[] getValues() {
         return (int[]) iValues.clone();
     }
diff --git a/src/main/java/org/joda/time/base/BaseSingleFieldPeriod.java b/src/main/java/org/joda/time/base/BaseSingleFieldPeriod.java
index 839d3b8e..003629fe 100644
--- a/src/main/java/org/joda/time/base/BaseSingleFieldPeriod.java
+++ b/src/main/java/org/joda/time/base/BaseSingleFieldPeriod.java
@@ -297,6 +297,7 @@ public abstract class BaseSingleFieldPeriod
      * @return true if all the field values are equal, false if
      *  not or the period is null or of an incorrect type
      */
+    @Override
     public boolean equals(Object period) {
         if (this == period) {
             return true;
@@ -313,6 +314,7 @@ public abstract class BaseSingleFieldPeriod
      *
      * @return a hash code
      */
+    @Override
     public int hashCode() {
         int total = 17;
         total = 27 * total + getValue();
diff --git a/src/main/java/org/joda/time/chrono/AssembledChronology.java b/src/main/java/org/joda/time/chrono/AssembledChronology.java
index 13c2de17..e1d1c5f1 100644
--- a/src/main/java/org/joda/time/chrono/AssembledChronology.java
+++ b/src/main/java/org/joda/time/chrono/AssembledChronology.java
@@ -102,6 +102,7 @@ public abstract class AssembledChronology extends BaseChronology {
         setFields();
     }
 
+    @Override
     public DateTimeZone getZone() {
         Chronology base;
         if ((base = iBase) != null) {
@@ -110,6 +111,7 @@ public abstract class AssembledChronology extends BaseChronology {
         return null;
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int millisOfDay)
         throws IllegalArgumentException
@@ -122,6 +124,7 @@ public abstract class AssembledChronology extends BaseChronology {
         return super.getDateTimeMillis(year, monthOfYear, dayOfMonth, millisOfDay);
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -137,6 +140,7 @@ public abstract class AssembledChronology extends BaseChronology {
                                        hourOfDay, minuteOfHour, secondOfMinute, millisOfSecond);
     }
 
+    @Override
     public long getDateTimeMillis(long instant,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -152,142 +156,177 @@ public abstract class AssembledChronology extends BaseChronology {
             (instant, hourOfDay, minuteOfHour, secondOfMinute, millisOfSecond);
     }
 
+    @Override
     public final DurationField millis() {
         return iMillis;
     }
 
+    @Override
     public final DateTimeField millisOfSecond() {
         return iMillisOfSecond;
     }
 
+    @Override
     public final DateTimeField millisOfDay() {
         return iMillisOfDay;
     }
 
+    @Override
     public final DurationField seconds() {
         return iSeconds;
     }
 
+    @Override
     public final DateTimeField secondOfMinute() {
         return iSecondOfMinute;
     }
 
+    @Override
     public final DateTimeField secondOfDay() {
         return iSecondOfDay;
     }
 
+    @Override
     public final DurationField minutes() {
         return iMinutes;
     }
 
+    @Override
     public final DateTimeField minuteOfHour() {
         return iMinuteOfHour;
     }
 
+    @Override
     public final DateTimeField minuteOfDay() {
         return iMinuteOfDay;
     }
 
+    @Override
     public final DurationField hours() {
         return iHours;
     }
 
+    @Override
     public final DateTimeField hourOfDay() {
         return iHourOfDay;
     }
 
+    @Override
     public final DateTimeField clockhourOfDay() {
         return iClockhourOfDay;
     }
 
+    @Override
     public final DurationField halfdays() {
         return iHalfdays;
     }
 
+    @Override
     public final DateTimeField hourOfHalfday() {
         return iHourOfHalfday;
     }
 
+    @Override
     public final DateTimeField clockhourOfHalfday() {
         return iClockhourOfHalfday;
     }
 
+    @Override
     public final DateTimeField halfdayOfDay() {
         return iHalfdayOfDay;
     }
 
+    @Override
     public final DurationField days() {
         return iDays;
     }
 
+    @Override
     public final DateTimeField dayOfWeek() {
         return iDayOfWeek;
     }
 
+    @Override
     public final DateTimeField dayOfMonth() {
         return iDayOfMonth;
     }
 
+    @Override
     public final DateTimeField dayOfYear() {
         return iDayOfYear;
     }
 
+    @Override
     public final DurationField weeks() {
         return iWeeks;
     }
 
+    @Override
     public final DateTimeField weekOfWeekyear() {
         return iWeekOfWeekyear;
     }
 
+    @Override
     public final DurationField weekyears() {
         return iWeekyears;
     }
 
+    @Override
     public final DateTimeField weekyear() {
         return iWeekyear;
     }
 
+    @Override
     public final DateTimeField weekyearOfCentury() {
         return iWeekyearOfCentury;
     }
 
+    @Override
     public final DurationField months() {
         return iMonths;
     }
 
+    @Override
     public final DateTimeField monthOfYear() {
         return iMonthOfYear;
     }
 
+    @Override
     public final DurationField years() {
         return iYears;
     }
 
+    @Override
     public final DateTimeField year() {
         return iYear;
     }
 
+    @Override
     public final DateTimeField yearOfEra() {
         return iYearOfEra;
     }
 
+    @Override
     public final DateTimeField yearOfCentury() {
         return iYearOfCentury;
     }
 
+    @Override
     public final DurationField centuries() {
         return iCenturies;
     }
 
+    @Override
     public final DateTimeField centuryOfEra() {
         return iCenturyOfEra;
     }
 
+    @Override
     public final DurationField eras() {
         return iEras;
     }
 
+    @Override
     public final DateTimeField era() {
         return iEra;
     }
diff --git a/src/main/java/org/joda/time/chrono/BaseChronology.java b/src/main/java/org/joda/time/chrono/BaseChronology.java
index 0d025d68..6dcbd749 100644
--- a/src/main/java/org/joda/time/chrono/BaseChronology.java
+++ b/src/main/java/org/joda/time/chrono/BaseChronology.java
@@ -60,6 +60,7 @@ public abstract class BaseChronology
      *
      * @return DateTimeZone null if unspecified
      */
+    @Override
     public abstract DateTimeZone getZone();
 
     /**
@@ -69,6 +70,7 @@ public abstract class BaseChronology
      *
      * @return a version of this chronology that ignores time zones
      */
+    @Override
     public abstract Chronology withUTC();
     
     /**
@@ -78,6 +80,7 @@ public abstract class BaseChronology
      * @param zone to use, or default if null
      * @see org.joda.time.chrono.ZonedChronology
      */
+    @Override
     public abstract Chronology withZone(DateTimeZone zone);
 
     /**
@@ -95,6 +98,7 @@ public abstract class BaseChronology
      * @param millisOfDay millisecond to use
      * @return millisecond instant from 1970-01-01T00:00:00Z
      */
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int millisOfDay)
         throws IllegalArgumentException
@@ -124,6 +128,7 @@ public abstract class BaseChronology
      * @param millisOfSecond millisecond to use
      * @return millisecond instant from 1970-01-01T00:00:00Z
      */
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -155,6 +160,7 @@ public abstract class BaseChronology
      * @param millisOfSecond millisecond to use
      * @return millisecond instant from 1970-01-01T00:00:00Z
      */
+    @Override
     public long getDateTimeMillis(long instant,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -177,6 +183,7 @@ public abstract class BaseChronology
      * @param values  the values to validate, not null unless the partial is empty
      * @throws IllegalArgumentException if the instant is invalid
      */
+    @Override
     public void validate(ReadablePartial partial, int[] values) {
         // check values in standard range, catching really stupid cases like -1
         // this means that the second check will not hit trouble
@@ -219,6 +226,7 @@ public abstract class BaseChronology
      * @param instant  the instant to query
      * @return the values of the partial extracted from the instant
      */
+    @Override
     public int[] get(ReadablePartial partial, long instant) {
         int size = partial.size();
         int[] values = new int[size];
@@ -235,6 +243,7 @@ public abstract class BaseChronology
      * @param instant  the instant to update
      * @return the updated instant
      */
+    @Override
     public long set(ReadablePartial partial, long instant) {
         for (int i = 0, isize = partial.size(); i < isize; i++) {
             instant = partial.getFieldType(i).getField(this).set(instant, partial.getValue(i));
@@ -251,6 +260,7 @@ public abstract class BaseChronology
      * @param endInstant  the start instant of an interval to query
      * @return the values of the period extracted from the interval
      */
+    @Override
     public int[] get(ReadablePeriod period, long startInstant, long endInstant) {
         int size = period.size();
         int[] values = new int[size];
@@ -274,6 +284,7 @@ public abstract class BaseChronology
      * @param duration  the duration to query
      * @return the values of the period extracted from the duration
      */
+    @Override
     public int[] get(ReadablePeriod period, long duration) {
         int size = period.size();
         int[] values = new int[size];
@@ -299,6 +310,7 @@ public abstract class BaseChronology
      * @param scalar  the number of times to add
      * @return the updated instant
      */
+    @Override
     public long add(ReadablePeriod period, long instant, int scalar) {
         if (scalar != 0 && period != null) {
             for (int i = 0, isize = period.size(); i < isize; i++) {
@@ -320,6 +332,7 @@ public abstract class BaseChronology
      * @param scalar  the number of times to add
      * @return the updated instant
      */
+    @Override
     public long add(long instant, long duration, int scalar) {
         if (duration == 0 || scalar == 0) {
             return instant;
@@ -335,6 +348,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField millis() {
         return UnsupportedDurationField.getInstance(DurationFieldType.millis());
     }
@@ -344,6 +358,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField millisOfSecond() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.millisOfSecond(), millis());
     }
@@ -353,6 +368,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField millisOfDay() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.millisOfDay(), millis());
     }
@@ -364,6 +380,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField seconds() {
         return UnsupportedDurationField.getInstance(DurationFieldType.seconds());
     }
@@ -373,6 +390,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField secondOfMinute() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.secondOfMinute(), seconds());
     }
@@ -382,6 +400,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField secondOfDay() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.secondOfDay(), seconds());
     }
@@ -393,6 +412,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField minutes() {
         return UnsupportedDurationField.getInstance(DurationFieldType.minutes());
     }
@@ -402,6 +422,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField minuteOfHour() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.minuteOfHour(), minutes());
     }
@@ -411,6 +432,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField minuteOfDay() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.minuteOfDay(), minutes());
     }
@@ -422,6 +444,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField hours() {
         return UnsupportedDurationField.getInstance(DurationFieldType.hours());
     }
@@ -431,6 +454,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField hourOfDay() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.hourOfDay(), hours());
     }
@@ -440,6 +464,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField clockhourOfDay() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.clockhourOfDay(), hours());
     }
@@ -451,6 +476,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField halfdays() {
         return UnsupportedDurationField.getInstance(DurationFieldType.halfdays());
     }
@@ -460,6 +486,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField hourOfHalfday() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.hourOfHalfday(), hours());
     }
@@ -469,6 +496,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField clockhourOfHalfday() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.clockhourOfHalfday(), hours());
     }
@@ -478,6 +506,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField halfdayOfDay() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.halfdayOfDay(), halfdays());
     }
@@ -489,6 +518,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField days() {
         return UnsupportedDurationField.getInstance(DurationFieldType.days());
     }
@@ -502,6 +532,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField dayOfWeek() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.dayOfWeek(), days());
     }
@@ -511,6 +542,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField dayOfMonth() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.dayOfMonth(), days());
     }
@@ -520,6 +552,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField dayOfYear() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.dayOfYear(), days());
     }
@@ -531,6 +564,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField weeks() {
         return UnsupportedDurationField.getInstance(DurationFieldType.weeks());
     }
@@ -540,6 +574,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField weekOfWeekyear() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.weekOfWeekyear(), weeks());
     }
@@ -551,6 +586,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField weekyears() {
         return UnsupportedDurationField.getInstance(DurationFieldType.weekyears());
     }
@@ -560,6 +596,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField weekyear() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.weekyear(), weekyears());
     }
@@ -569,6 +606,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField weekyearOfCentury() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.weekyearOfCentury(), weekyears());
     }
@@ -580,6 +618,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField months() {
         return UnsupportedDurationField.getInstance(DurationFieldType.months());
     }
@@ -589,6 +628,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField monthOfYear() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.monthOfYear(), months());
     }
@@ -600,6 +640,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField years() {
         return UnsupportedDurationField.getInstance(DurationFieldType.years());
     }
@@ -609,6 +650,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField year() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.year(), years());
     }
@@ -618,6 +660,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField yearOfEra() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.yearOfEra(), years());
     }
@@ -627,6 +670,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField yearOfCentury() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.yearOfCentury(), years());
     }
@@ -638,6 +682,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField centuries() {
         return UnsupportedDurationField.getInstance(DurationFieldType.centuries());
     }
@@ -647,6 +692,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField centuryOfEra() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.centuryOfEra(), centuries());
     }
@@ -658,6 +704,7 @@ public abstract class BaseChronology
      * 
      * @return DurationField or UnsupportedDurationField if unsupported
      */
+    @Override
     public DurationField eras() {
         return UnsupportedDurationField.getInstance(DurationFieldType.eras());
     }
@@ -667,6 +714,7 @@ public abstract class BaseChronology
      * 
      * @return DateTimeField or UnsupportedDateTimeField if unsupported
      */
+    @Override
     public DateTimeField era() {
         return UnsupportedDateTimeField.getInstance(DateTimeFieldType.era(), eras());
     }
@@ -677,6 +725,7 @@ public abstract class BaseChronology
      * 
      * @return a debugging string
      */
+    @Override
     public abstract String toString();
 
 }
diff --git a/src/main/java/org/joda/time/chrono/BasicChronology.java b/src/main/java/org/joda/time/chrono/BasicChronology.java
index 34096b13..d9208b5e 100644
--- a/src/main/java/org/joda/time/chrono/BasicChronology.java
+++ b/src/main/java/org/joda/time/chrono/BasicChronology.java
@@ -139,6 +139,7 @@ abstract class BasicChronology extends AssembledChronology {
         iMinDaysInFirstWeek = minDaysInFirstWeek;
     }
 
+    @Override
     public DateTimeZone getZone() {
         Chronology base;
         if ((base = getBase()) != null) {
@@ -213,6 +214,7 @@ abstract class BasicChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.6
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -231,6 +233,7 @@ abstract class BasicChronology extends AssembledChronology {
      * @return the hash code
      * @since 1.6
      */
+    @Override
     public int hashCode() {
         return getClass().getName().hashCode() * 11 + getZone().hashCode() + getMinimumDaysInFirstWeek();
     }
@@ -242,6 +245,7 @@ abstract class BasicChronology extends AssembledChronology {
      * 
      * @return a debugging string
      */
+    @Override
     public String toString() {
         StringBuilder sb = new StringBuilder(60);
         String name = getClass().getName();
@@ -263,6 +267,7 @@ abstract class BasicChronology extends AssembledChronology {
         return sb.toString();
     }
 
+    @Override
     protected void assemble(Fields fields) {
         // First copy fields that are the same for all Gregorian and Julian
         // chronologies.
@@ -805,14 +810,17 @@ abstract class BasicChronology extends AssembledChronology {
             super(DateTimeFieldType.halfdayOfDay(), cHalfdaysField, cDaysField);
         }
 
+        @Override
         public String getAsText(int fieldValue, Locale locale) {
             return GJLocaleSymbols.forLocale(locale).halfdayValueToText(fieldValue);
         }
 
+        @Override
         public long set(long millis, String text, Locale locale) {
             return set(millis, GJLocaleSymbols.forLocale(locale).halfdayTextToValue(text));
         }
 
+        @Override
         public int getMaximumTextLength(Locale locale) {
             return GJLocaleSymbols.forLocale(locale).getHalfdayMaxTextLength();
         }
diff --git a/src/main/java/org/joda/time/chrono/BasicDayOfMonthDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicDayOfMonthDateTimeField.java
index 415aaab6..ba9d73bc 100644
--- a/src/main/java/org/joda/time/chrono/BasicDayOfMonthDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicDayOfMonthDateTimeField.java
@@ -44,26 +44,32 @@ final class BasicDayOfMonthDateTimeField extends PreciseDurationDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int get(long instant) {
         return iChronology.getDayOfMonth(instant);
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.months();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return iChronology.getDaysInMonthMax();
     }
 
+    @Override
     public int getMaximumValue(long instant) {
         return iChronology.getDaysInMonthMax(instant);
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial partial) {
         if (partial.isSupported(DateTimeFieldType.monthOfYear())) {
             int month = partial.get(DateTimeFieldType.monthOfYear());
@@ -76,6 +82,7 @@ final class BasicDayOfMonthDateTimeField extends PreciseDurationDateTimeField {
         return getMaximumValue();
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial partial, int[] values) {
         int size = partial.size();
         for (int i = 0; i < size; i++) {
@@ -93,6 +100,7 @@ final class BasicDayOfMonthDateTimeField extends PreciseDurationDateTimeField {
         return getMaximumValue();
     }
 
+    @Override
     protected int getMaximumValueForSet(long instant, int value) {
         return iChronology.getDaysInMonthMaxForSet(instant, value);
     }
diff --git a/src/main/java/org/joda/time/chrono/BasicDayOfYearDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicDayOfYearDateTimeField.java
index 814b7408..fb4b7500 100644
--- a/src/main/java/org/joda/time/chrono/BasicDayOfYearDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicDayOfYearDateTimeField.java
@@ -49,27 +49,33 @@ final class BasicDayOfYearDateTimeField extends PreciseDurationDateTimeField {
      * @param instant  the time instant in millis to query.
      * @return the day of the year extracted from the input.
      */
+    @Override
     public int get(long instant) {
         return iChronology.getDayOfYear(instant);
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.years();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return iChronology.getDaysInYearMax();
     }
 
+    @Override
     public int getMaximumValue(long instant) {
         int year = iChronology.getYear(instant);
         return iChronology.getDaysInYear(year);
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial partial) {
         if (partial.isSupported(DateTimeFieldType.year())) {
             int year = partial.get(DateTimeFieldType.year());
@@ -78,6 +84,7 @@ final class BasicDayOfYearDateTimeField extends PreciseDurationDateTimeField {
         return iChronology.getDaysInYearMax();
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial partial, int[] values) {
         int size = partial.size();
         for (int i = 0; i < size; i++) {
@@ -89,6 +96,7 @@ final class BasicDayOfYearDateTimeField extends PreciseDurationDateTimeField {
         return iChronology.getDaysInYearMax();
     }
 
+    @Override
     protected int getMaximumValueForSet(long instant, int value) {
         int maxLessOne = iChronology.getDaysInYearMax() - 1;
         return (value > maxLessOne || value < 1) ? getMaximumValue(instant) : maxLessOne;
diff --git a/src/main/java/org/joda/time/chrono/BasicFixedMonthChronology.java b/src/main/java/org/joda/time/chrono/BasicFixedMonthChronology.java
index 7929ca14..3416f99a 100644
--- a/src/main/java/org/joda/time/chrono/BasicFixedMonthChronology.java
+++ b/src/main/java/org/joda/time/chrono/BasicFixedMonthChronology.java
@@ -60,6 +60,7 @@ abstract class BasicFixedMonthChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long setYear(long instant, int year) {
         // optimsed implementation of set, due to fixed months
         int thisYear = getYear(instant);
@@ -80,6 +81,7 @@ abstract class BasicFixedMonthChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getYearDifference(long minuendInstant, long subtrahendInstant) {
         // optimsed implementation of getDifference, due to fixed months
         int minuendYear = getYear(minuendInstant);
@@ -97,63 +99,75 @@ abstract class BasicFixedMonthChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getTotalMillisByYearMonth(int year, int month) {
         return ((month - 1) * MILLIS_PER_MONTH);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDayOfMonth(long millis) {
         // optimised for fixed months
         return (getDayOfYear(millis) - 1) % MONTH_LENGTH + 1;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     boolean isLeapYear(int year) {
         return (year & 3) == 3;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInYearMonth(int year, int month) {
         return (month != 13) ? MONTH_LENGTH : (isLeapYear(year) ? 6 : 5);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInMonthMax() {
         return MONTH_LENGTH;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInMonthMax(int month) {
         return (month != 13 ? MONTH_LENGTH : 6);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMonthOfYear(long millis) {
         return (getDayOfYear(millis) - 1) / MONTH_LENGTH + 1;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMonthOfYear(long millis, int year) {
         long monthZeroBased = (millis - getYearMillis(year)) / MILLIS_PER_MONTH;
         return ((int) monthZeroBased) + 1;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMaxMonth() {
         return 13;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getAverageMillisPerYear() {
         return MILLIS_PER_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getAverageMillisPerYearDividedByTwo() {
         return MILLIS_PER_YEAR / 2;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getAverageMillisPerMonth() {
         return MILLIS_PER_MONTH;
     }
diff --git a/src/main/java/org/joda/time/chrono/BasicGJChronology.java b/src/main/java/org/joda/time/chrono/BasicGJChronology.java
index e3636c62..4e17b67a 100644
--- a/src/main/java/org/joda/time/chrono/BasicGJChronology.java
+++ b/src/main/java/org/joda/time/chrono/BasicGJChronology.java
@@ -81,6 +81,7 @@ abstract class BasicGJChronology extends BasicChronology {
         return dayOfMonth().get(instant) == 29 && monthOfYear().isLeap(instant);
     }
 
+    @Override
     int getMonthOfYear(long millis, int year) {
         // Perform a binary search to get the month. To make it go even faster,
         // compare using ints instead of longs. The number of milliseconds per
@@ -121,6 +122,7 @@ abstract class BasicGJChronology extends BasicChronology {
      * @param month  the month
      * @return the number of days
      */
+    @Override
     int getDaysInYearMonth(int year, int month) {
         if (isLeapYear(year)) {
             return MAX_DAYS_PER_MONTH_ARRAY[month - 1];
@@ -130,16 +132,19 @@ abstract class BasicGJChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInMonthMax(int month) {
         return MAX_DAYS_PER_MONTH_ARRAY[month - 1];
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInMonthMaxForSet(long instant, int value) {
         return ((value > 28 || value < 1) ? getDaysInMonthMax(instant) : 28);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getTotalMillisByYearMonth(int year, int month) {
         if (isLeapYear(year)) {
             return MAX_TOTAL_MILLIS_BY_MONTH_ARRAY[month - 1];
@@ -149,6 +154,7 @@ abstract class BasicGJChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getYearDifference(long minuendInstant, long subtrahendInstant) {
         int minuendYear = getYear(minuendInstant);
         int subtrahendYear = getYear(subtrahendInstant);
@@ -176,6 +182,7 @@ abstract class BasicGJChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long setYear(long instant, int year) {
         int thisYear = getYear(instant);
         int dayOfYear = getDayOfYear(instant, thisYear);
diff --git a/src/main/java/org/joda/time/chrono/BasicMonthOfYearDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicMonthOfYearDateTimeField.java
index 76de3410..8d4c8d53 100644
--- a/src/main/java/org/joda/time/chrono/BasicMonthOfYearDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicMonthOfYearDateTimeField.java
@@ -56,6 +56,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public boolean isLenient() {
         return false;
     }
@@ -69,6 +70,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
      * @param instant  the time instant in millis to query.
      * @return the month extracted from the input.
      */
+    @Override
     public int get(long instant) {
         return iChronology.getMonthOfYear(instant);
     }
@@ -89,6 +91,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
      * @param months  the months to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long add(long instant, int months) {
         if (months == 0) {
             return instant; // the easy case
@@ -158,6 +161,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public long add(long instant, long months) {
         int i_months = (int)months;
         if (i_months == months) {
@@ -211,6 +215,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int[] add(ReadablePartial partial, int fieldIndex, int[] values, int valueToAdd) {
         // overridden as superclass algorithm can't handle
         // 2004-02-29 + 48 months -> 2008-02-29 type dates
@@ -245,11 +250,13 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
      * @param months  the months to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long addWrapField(long instant, int months) {
         return set(instant, FieldUtils.getWrappedValue(get(instant), months, MIN, iMax));
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         if (minuendInstant < subtrahendInstant) {
             return -getDifference(subtrahendInstant, minuendInstant);
@@ -305,6 +312,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException  if month is invalid
      */
+    @Override
     public long set(long instant, int month) {
         FieldUtils.verifyValueBounds(this, month, MIN, iMax);
         //
@@ -322,11 +330,13 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.years();
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public boolean isLeap(long instant) {
         int thisYear = iChronology.getYear(instant);
         if (iChronology.isLeapYear(thisYear)) {
@@ -336,26 +346,31 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int getLeapAmount(long instant) {
         return isLeap(instant) ? 1 : 0;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public DurationField getLeapDurationField() {
         return iChronology.days();
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int getMinimumValue() {
         return MIN;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int getMaximumValue() {
         return iMax;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public long roundFloor(long instant) {
         int year = iChronology.getYear(instant);
         int month = iChronology.getMonthOfYear(instant, year);
@@ -363,6 +378,7 @@ class BasicMonthOfYearDateTimeField extends ImpreciseDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public long remainder(long instant) {
         return instant - roundFloor(instant);
     }
diff --git a/src/main/java/org/joda/time/chrono/BasicSingleEraDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicSingleEraDateTimeField.java
index d0d51643..1a86af35 100644
--- a/src/main/java/org/joda/time/chrono/BasicSingleEraDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicSingleEraDateTimeField.java
@@ -53,22 +53,26 @@ final class BasicSingleEraDateTimeField extends BaseDateTimeField {
     }
 
     /** @inheritDoc */
+    @Override
     public boolean isLenient() {
         return false;
     }
 
     /** @inheritDoc */
+    @Override
     public int get(long instant) {
         return ERA_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public long set(long instant, int era) {
         FieldUtils.verifyValueBounds(this, era, ERA_VALUE, ERA_VALUE);
         return instant;
     }
 
     /** @inheritDoc */
+    @Override
     public long set(long instant, String text, Locale locale) {
         if (iEraText.equals(text) == false && "1".equals(text) == false) {
             throw new IllegalFieldValueException(DateTimeFieldType.era(), text);
@@ -77,56 +81,67 @@ final class BasicSingleEraDateTimeField extends BaseDateTimeField {
     }
 
     /** @inheritDoc */
+    @Override
     public long roundFloor(long instant) {
         return Long.MIN_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public long roundCeiling(long instant) {
         return Long.MAX_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public long roundHalfFloor(long instant) {
         return Long.MIN_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public long roundHalfCeiling(long instant) {
         return Long.MIN_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public long roundHalfEven(long instant) {
         return Long.MIN_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public DurationField getDurationField() {
         return UnsupportedDurationField.getInstance(DurationFieldType.eras());
     }
 
     /** @inheritDoc */
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
 
     /** @inheritDoc */
+    @Override
     public int getMinimumValue() {
         return ERA_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public int getMaximumValue() {
         return ERA_VALUE;
     }
 
     /** @inheritDoc */
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         return iEraText;
     }
 
     /** @inheritDoc */
+    @Override
     public int getMaximumTextLength(Locale locale) {
         return iEraText.length();
     }
diff --git a/src/main/java/org/joda/time/chrono/BasicWeekOfWeekyearDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicWeekOfWeekyearDateTimeField.java
index 9fd946d8..027d1134 100644
--- a/src/main/java/org/joda/time/chrono/BasicWeekOfWeekyearDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicWeekOfWeekyearDateTimeField.java
@@ -51,10 +51,12 @@ final class BasicWeekOfWeekyearDateTimeField extends PreciseDurationDateTimeFiel
      * @param instant  the time instant in millis to query.
      * @return the week of the year extracted from the input.
      */
+    @Override
     public int get(long instant) {
         return iChronology.getWeekOfWeekyear(instant);
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.weekyears();
     }
@@ -62,33 +64,40 @@ final class BasicWeekOfWeekyearDateTimeField extends PreciseDurationDateTimeFiel
     // 1970-01-01 is day of week 4, Thursday. The rounding methods need to
     // apply a corrective alignment since weeks begin on day of week 1, Monday.
 
+    @Override
     public long roundFloor(long instant) {
         return super.roundFloor(instant + 3 * DateTimeConstants.MILLIS_PER_DAY)
             - 3 * DateTimeConstants.MILLIS_PER_DAY;
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return super.roundCeiling(instant + 3 * DateTimeConstants.MILLIS_PER_DAY)
             - 3 * DateTimeConstants.MILLIS_PER_DAY;
     }
 
+    @Override
     public long remainder(long instant) {
         return super.remainder(instant + 3 * DateTimeConstants.MILLIS_PER_DAY);
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return 53;
     }
 
+    @Override
     public int getMaximumValue(long instant) {
         int weekyear = iChronology.getWeekyear(instant);
         return iChronology.getWeeksInYear(weekyear);
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial partial) {
         if (partial.isSupported(DateTimeFieldType.weekyear())) {
             int weekyear = partial.get(DateTimeFieldType.weekyear());
@@ -97,6 +106,7 @@ final class BasicWeekOfWeekyearDateTimeField extends PreciseDurationDateTimeFiel
         return 53;
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial partial, int[] values) {
         int size = partial.size();
         for (int i = 0; i < size; i++) {
@@ -108,6 +118,7 @@ final class BasicWeekOfWeekyearDateTimeField extends PreciseDurationDateTimeFiel
         return 53;
     }
 
+    @Override
     protected int getMaximumValueForSet(long instant, int value) {
         return value > 52 ? getMaximumValue(instant) : 52;
     }
diff --git a/src/main/java/org/joda/time/chrono/BasicWeekyearDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicWeekyearDateTimeField.java
index fc2f299b..bfa00a03 100644
--- a/src/main/java/org/joda/time/chrono/BasicWeekyearDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicWeekyearDateTimeField.java
@@ -46,6 +46,7 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
         iChronology = chronology;
     }
 
+    @Override
     public boolean isLenient() {
         return false;
     }
@@ -57,6 +58,7 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
      * @param instant  the time instant in millis to query.
      * @return the year extracted from the input.
      */
+    @Override
     public int get(long instant) {
         return iChronology.getWeekyear(instant);
     }
@@ -69,6 +71,7 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
      * @param years  the years to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long add(long instant, int years) {
         if (years == 0) {
             return instant;
@@ -76,6 +79,7 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
         return set(instant, get(instant) + years);
     }
 
+    @Override
     public long add(long instant, long value) {
         return add(instant, FieldUtils.safeToInt(value));
     }
@@ -89,10 +93,12 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
      * @param years  the years to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long addWrapField(long instant, int years) {
         return add(instant, years);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         if (minuendInstant < subtrahendInstant) {
             return -getDifference(subtrahendInstant, minuendInstant);
@@ -125,6 +131,7 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
      * @return the updated DateTime.
      * @throws IllegalArgumentException  if year is invalid.
      */
+    @Override
     public long set(long instant, int year) {
         FieldUtils.verifyValueBounds(this, Math.abs(year),
                                      iChronology.getMinYear(), iChronology.getMaxYear());
@@ -205,30 +212,37 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
         return workInstant;
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
 
+    @Override
     public boolean isLeap(long instant) {
         return iChronology.getWeeksInYear(iChronology.getWeekyear(instant)) > 52;
     }
 
+    @Override
     public int getLeapAmount(long instant) {
         return iChronology.getWeeksInYear(iChronology.getWeekyear(instant)) - 52;
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return iChronology.weeks();
     }
 
+    @Override
     public int getMinimumValue() {
         return iChronology.getMinYear();
     }
 
+    @Override
     public int getMaximumValue() {
         return iChronology.getMaxYear();
     }
 
+    @Override
     public long roundFloor(long instant) {
         // Note: This works fine, but it ideally shouldn't invoke other
         // fields from within a field.
@@ -240,6 +254,7 @@ final class BasicWeekyearDateTimeField extends ImpreciseDateTimeField {
         return instant;
     }
 
+    @Override
     public long remainder(long instant) {
         return instant - roundFloor(instant);
     }
diff --git a/src/main/java/org/joda/time/chrono/BasicYearDateTimeField.java b/src/main/java/org/joda/time/chrono/BasicYearDateTimeField.java
index b7965f0d..17c6911d 100644
--- a/src/main/java/org/joda/time/chrono/BasicYearDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/BasicYearDateTimeField.java
@@ -47,14 +47,17 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         iChronology = chronology;
     }
 
+    @Override
     public boolean isLenient() {
         return false;
     }
 
+    @Override
     public int get(long instant) {
         return iChronology.getYear(instant);
     }
 
+    @Override
     public long add(long instant, int years) {
         if (years == 0) {
             return instant;
@@ -64,10 +67,12 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         return set(instant, newYear);
     }
 
+    @Override
     public long add(long instant, long years) {
         return add(instant, FieldUtils.safeToInt(years));
     }
 
+    @Override
     public long addWrapField(long instant, int years) {
         if (years == 0) {
             return instant;
@@ -79,6 +84,7 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         return set(instant, wrappedYear);
     }
 
+    @Override
     public long set(long instant, int year) {
         FieldUtils.verifyValueBounds
             (this, year, iChronology.getMinYear(), iChronology.getMaxYear());
@@ -92,6 +98,7 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         return iChronology.setYear(instant, year);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         if (minuendInstant < subtrahendInstant) {
             return -iChronology.getYearDifference(subtrahendInstant, minuendInstant);
@@ -99,14 +106,17 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         return iChronology.getYearDifference(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
 
+    @Override
     public boolean isLeap(long instant) {
         return iChronology.isLeapYear(get(instant));
     }
 
+    @Override
     public int getLeapAmount(long instant) {
         if (iChronology.isLeapYear(get(instant))) {
             return 1;
@@ -115,22 +125,27 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         }
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return iChronology.days();
     }
 
+    @Override
     public int getMinimumValue() {
         return iChronology.getMinYear();
     }
 
+    @Override
     public int getMaximumValue() {
         return iChronology.getMaxYear();
     }
 
+    @Override
     public long roundFloor(long instant) {
         return iChronology.getYearMillis(get(instant));
     }
 
+    @Override
     public long roundCeiling(long instant) {
         int year = get(instant);
         long yearStartMillis = iChronology.getYearMillis(year);
@@ -141,6 +156,7 @@ class BasicYearDateTimeField extends ImpreciseDateTimeField {
         return instant;
     }
 
+    @Override
     public long remainder(long instant) {
         return instant - roundFloor(instant);
     }
diff --git a/src/main/java/org/joda/time/chrono/BuddhistChronology.java b/src/main/java/org/joda/time/chrono/BuddhistChronology.java
index 99a7d3e4..80707fca 100644
--- a/src/main/java/org/joda/time/chrono/BuddhistChronology.java
+++ b/src/main/java/org/joda/time/chrono/BuddhistChronology.java
@@ -147,6 +147,7 @@ public final class BuddhistChronology extends AssembledChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -157,6 +158,7 @@ public final class BuddhistChronology extends AssembledChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -175,6 +177,7 @@ public final class BuddhistChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.6
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -192,6 +195,7 @@ public final class BuddhistChronology extends AssembledChronology {
      * @return the hash code
      * @since 1.6
      */
+    @Override
     public int hashCode() {
         return "Buddhist".hashCode() * 11 + getZone().hashCode();
     }
@@ -203,6 +207,7 @@ public final class BuddhistChronology extends AssembledChronology {
      * 
      * @return a debugging string
      */
+    @Override
     public String toString() {
         String str = "BuddhistChronology";
         DateTimeZone zone = getZone();
@@ -212,6 +217,7 @@ public final class BuddhistChronology extends AssembledChronology {
         return str;
     }
 
+    @Override
     protected void assemble(Fields fields) {
         if (getParam() == null) {
             // force init as used below
diff --git a/src/main/java/org/joda/time/chrono/CopticChronology.java b/src/main/java/org/joda/time/chrono/CopticChronology.java
index 1763c4cc..d9734ff1 100644
--- a/src/main/java/org/joda/time/chrono/CopticChronology.java
+++ b/src/main/java/org/joda/time/chrono/CopticChronology.java
@@ -185,6 +185,7 @@ public final class CopticChronology extends BasicFixedMonthChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -195,6 +196,7 @@ public final class CopticChronology extends BasicFixedMonthChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -212,6 +214,7 @@ public final class CopticChronology extends BasicFixedMonthChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long calculateFirstDayOfYearMillis(int year) {
         // Java epoch is 1970-01-01 Gregorian which is 1686-04-23 Coptic.
         // Calculate relative to the nearest leap year and account for the
@@ -240,21 +243,25 @@ public final class CopticChronology extends BasicFixedMonthChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMinYear() {
         return MIN_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMaxYear() {
         return MAX_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getApproxMillisAtEpochDividedByTwo() {
         return (1686L * MILLIS_PER_YEAR + 112L * DateTimeConstants.MILLIS_PER_DAY) / 2;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     protected void assemble(Fields fields) {
         if (getBase() == null) {
             super.assemble(fields);
diff --git a/src/main/java/org/joda/time/chrono/EthiopicChronology.java b/src/main/java/org/joda/time/chrono/EthiopicChronology.java
index 5089f9c7..2ca09d68 100644
--- a/src/main/java/org/joda/time/chrono/EthiopicChronology.java
+++ b/src/main/java/org/joda/time/chrono/EthiopicChronology.java
@@ -184,6 +184,7 @@ public final class EthiopicChronology extends BasicFixedMonthChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -194,6 +195,7 @@ public final class EthiopicChronology extends BasicFixedMonthChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -211,6 +213,7 @@ public final class EthiopicChronology extends BasicFixedMonthChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long calculateFirstDayOfYearMillis(int year) {
         // Java epoch is 1970-01-01 Gregorian which is 1962-04-23 Ethiopic.
         // Calculate relative to the nearest leap year and account for the
@@ -239,21 +242,25 @@ public final class EthiopicChronology extends BasicFixedMonthChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMinYear() {
         return MIN_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMaxYear() {
         return MAX_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getApproxMillisAtEpochDividedByTwo() {
         return (1962L * MILLIS_PER_YEAR + 112L * DateTimeConstants.MILLIS_PER_DAY) / 2;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     protected void assemble(Fields fields) {
         if (getBase() == null) {
             super.assemble(fields);
diff --git a/src/main/java/org/joda/time/chrono/GJChronology.java b/src/main/java/org/joda/time/chrono/GJChronology.java
index 0b6069f5..4b7b2eda 100644
--- a/src/main/java/org/joda/time/chrono/GJChronology.java
+++ b/src/main/java/org/joda/time/chrono/GJChronology.java
@@ -279,6 +279,7 @@ public final class GJChronology extends AssembledChronology {
         return getInstance(getZone(), iCutoverInstant, getMinimumDaysInFirstWeek());
     }
 
+    @Override
     public DateTimeZone getZone() {
         Chronology base;
         if ((base = getBase()) != null) {
@@ -294,6 +295,7 @@ public final class GJChronology extends AssembledChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return withZone(DateTimeZone.UTC);
     }
@@ -304,6 +306,7 @@ public final class GJChronology extends AssembledChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -314,6 +317,7 @@ public final class GJChronology extends AssembledChronology {
         return getInstance(zone, iCutoverInstant, getMinimumDaysInFirstWeek());
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int millisOfDay)
         throws IllegalArgumentException
@@ -338,6 +342,7 @@ public final class GJChronology extends AssembledChronology {
         return instant;
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -405,6 +410,7 @@ public final class GJChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.6
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -424,6 +430,7 @@ public final class GJChronology extends AssembledChronology {
      * @return the hash code
      * @since 1.6
      */
+    @Override
     public int hashCode() {
         return "GJ".hashCode() * 11 + getZone().hashCode() +
                 getMinimumDaysInFirstWeek() + iCutoverInstant.hashCode();
@@ -436,6 +443,7 @@ public final class GJChronology extends AssembledChronology {
      * 
      * @return a debugging string
      */
+    @Override
     public String toString() {
         StringBuffer sb = new StringBuffer(60);
         sb.append("GJChronology");
@@ -462,6 +470,7 @@ public final class GJChronology extends AssembledChronology {
         return sb.toString();
     }
 
+    @Override
     protected void assemble(Fields fields) {
         Object[] params = (Object[])getParam();
 
@@ -652,10 +661,12 @@ public final class GJChronology extends AssembledChronology {
             iRangeDurationField = rangeField;
         }
 
+        @Override
         public boolean isLenient() {
             return false;
         }
 
+        @Override
         public int get(long instant) {
             if (instant >= iCutover) {
                 return iGregorianField.get(instant);
@@ -664,6 +675,7 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public String getAsText(long instant, Locale locale) {
             if (instant >= iCutover) {
                 return iGregorianField.getAsText(instant, locale);
@@ -672,10 +684,12 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public String getAsText(int fieldValue, Locale locale) {
             return iGregorianField.getAsText(fieldValue, locale);
         }
 
+        @Override
         public String getAsShortText(long instant, Locale locale) {
             if (instant >= iCutover) {
                 return iGregorianField.getAsShortText(instant, locale);
@@ -684,18 +698,22 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public String getAsShortText(int fieldValue, Locale locale) {
             return iGregorianField.getAsShortText(fieldValue, locale);
         }
 
+        @Override
         public long add(long instant, int value) {
             return iGregorianField.add(instant, value);
         }
 
+        @Override
         public long add(long instant, long value) {
             return iGregorianField.add(instant, value);
         }
 
+        @Override
         public int[] add(ReadablePartial partial, int fieldIndex, int[] values, int valueToAdd) {
             // overridden as superclass algorithm can't handle
             // 2004-02-29 + 48 months -> 2008-02-29 type dates
@@ -714,14 +732,17 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             return iGregorianField.getDifference(minuendInstant, subtrahendInstant);
         }
 
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return iGregorianField.getDifferenceAsLong(minuendInstant, subtrahendInstant);
         }
 
+        @Override
         public long set(long instant, int value) {
             if (instant >= iCutover) {
                 instant = iGregorianField.set(instant, value);
@@ -753,6 +774,7 @@ public final class GJChronology extends AssembledChronology {
             return instant;
         }
 
+        @Override
         public long set(long instant, String text, Locale locale) {
             if (instant >= iCutover) {
                 instant = iGregorianField.set(instant, text, locale);
@@ -776,14 +798,17 @@ public final class GJChronology extends AssembledChronology {
             return instant;
         }
 
+        @Override
         public DurationField getDurationField() {
             return iDurationField;
         }
 
+        @Override
         public DurationField getRangeDurationField() {
             return iRangeDurationField;
         }
 
+        @Override
         public boolean isLeap(long instant) {
             if (instant >= iCutover) {
                 return iGregorianField.isLeap(instant);
@@ -792,6 +817,7 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public int getLeapAmount(long instant) {
             if (instant >= iCutover) {
                 return iGregorianField.getLeapAmount(instant);
@@ -800,25 +826,30 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public DurationField getLeapDurationField() {
             return iGregorianField.getLeapDurationField();
         }
 
 
+        @Override
         public int getMinimumValue() {
             // For all precise fields, the Julian and Gregorian limits are
             // identical. Choose Julian to tighten up the year limits.
             return iJulianField.getMinimumValue();
         }
 
+        @Override
         public int getMinimumValue(ReadablePartial partial) {
             return iJulianField.getMinimumValue(partial);
         }
 
+        @Override
         public int getMinimumValue(ReadablePartial partial, int[] values) {
             return iJulianField.getMinimumValue(partial, values);
         }
 
+        @Override
         public int getMinimumValue(long instant) {
             if (instant < iCutover) {
                 return iJulianField.getMinimumValue(instant);
@@ -836,12 +867,14 @@ public final class GJChronology extends AssembledChronology {
             return min;
         }
 
+        @Override
         public int getMaximumValue() {
             // For all precise fields, the Julian and Gregorian limits are
             // identical.
             return iGregorianField.getMaximumValue();
         }
 
+        @Override
         public int getMaximumValue(long instant) {
             if (instant >= iCutover) {
                 return iGregorianField.getMaximumValue(instant);
@@ -859,11 +892,13 @@ public final class GJChronology extends AssembledChronology {
             return max;
         }
 
+        @Override
         public int getMaximumValue(ReadablePartial partial) {
             long instant = GJChronology.getInstanceUTC().set(partial, 0L);
             return getMaximumValue(instant);
         }
 
+        @Override
         public int getMaximumValue(ReadablePartial partial, int[] values) {
             Chronology chrono = GJChronology.getInstanceUTC();
             long instant = 0L;
@@ -876,6 +911,7 @@ public final class GJChronology extends AssembledChronology {
             return getMaximumValue(instant);
         }
 
+        @Override
         public long roundFloor(long instant) {
             if (instant >= iCutover) {
                 instant = iGregorianField.roundFloor(instant);
@@ -891,6 +927,7 @@ public final class GJChronology extends AssembledChronology {
             return instant;
         }
 
+        @Override
         public long roundCeiling(long instant) {
             if (instant >= iCutover) {
                 instant = iGregorianField.roundCeiling(instant);
@@ -906,11 +943,13 @@ public final class GJChronology extends AssembledChronology {
             return instant;
         }
 
+        @Override
         public int getMaximumTextLength(Locale locale) {
             return Math.max(iJulianField.getMaximumTextLength(locale),
                             iGregorianField.getMaximumTextLength(locale));
         }
 
+        @Override
         public int getMaximumShortTextLength(Locale locale) {
             return Math.max(iJulianField.getMaximumShortTextLength(locale),
                             iGregorianField.getMaximumShortTextLength(locale));
@@ -990,6 +1029,7 @@ public final class GJChronology extends AssembledChronology {
             iDurationField = durationField;
         }
 
+        @Override
         public long add(long instant, int value) {
             if (instant >= iCutover) {
                 instant = iGregorianField.add(instant, value);
@@ -1023,6 +1063,7 @@ public final class GJChronology extends AssembledChronology {
             return instant;
         }
         
+        @Override
         public long add(long instant, long value) {
             if (instant >= iCutover) {
                 instant = iGregorianField.add(instant, value);
@@ -1056,6 +1097,7 @@ public final class GJChronology extends AssembledChronology {
             return instant;
         }
 
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             if (minuendInstant >= iCutover) {
                 if (subtrahendInstant >= iCutover) {
@@ -1076,6 +1118,7 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             if (minuendInstant >= iCutover) {
                 if (subtrahendInstant >= iCutover) {
@@ -1106,6 +1149,7 @@ public final class GJChronology extends AssembledChronology {
         // at the beginning or end of the year, then the minimum and maximum
         // values are not 1 and 12. I don't expect this case to ever occur.
 
+        @Override
         public int getMinimumValue(long instant) {
             if (instant >= iCutover) {
                 return iGregorianField.getMinimumValue(instant);
@@ -1114,6 +1158,7 @@ public final class GJChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public int getMaximumValue(long instant) {
             if (instant >= iCutover) {
                 return iGregorianField.getMaximumValue(instant);
@@ -1137,18 +1182,22 @@ public final class GJChronology extends AssembledChronology {
             iField = dateTimeField;
         }
 
+        @Override
         public long add(long instant, int value) {
             return iField.add(instant, value);
         }
 
+        @Override
         public long add(long instant, long value) {
             return iField.add(instant, value);
         }
 
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             return iField.getDifference(minuendInstant, subtrahendInstant);
         }
 
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return iField.getDifferenceAsLong(minuendInstant, subtrahendInstant);
         }
diff --git a/src/main/java/org/joda/time/chrono/GJDayOfWeekDateTimeField.java b/src/main/java/org/joda/time/chrono/GJDayOfWeekDateTimeField.java
index 2eb4f527..f1a69a7b 100644
--- a/src/main/java/org/joda/time/chrono/GJDayOfWeekDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/GJDayOfWeekDateTimeField.java
@@ -53,6 +53,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * @param instant  the time instant in millis to query
      * @return the day of the week extracted from the input
      */
+    @Override
     public int get(long instant) {
         return iChronology.getDayOfWeek(instant);
     }
@@ -64,6 +65,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * @param locale  the locale to use
      * @return the day of the week, such as 'Monday'
      */
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).dayOfWeekValueToText(fieldValue);
     }
@@ -75,6 +77,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * @param locale  the locale to use
      * @return the day of the week, such as 'Mon'
      */
+    @Override
     public String getAsShortText(int fieldValue, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).dayOfWeekValueToShortText(fieldValue);
     }
@@ -87,10 +90,12 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * @return the value extracted from the text
      * @throws IllegalArgumentException if the text is invalid
      */
+    @Override
     protected int convertText(String text, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).dayOfWeekTextToValue(text);
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.weeks();
     }
@@ -100,6 +105,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * 
      * @return the field's minimum value
      */
+    @Override
     public int getMinimumValue() {
         return DateTimeConstants.MONDAY;
     }
@@ -109,6 +115,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * 
      * @return the field's maximum value
      */
+    @Override
     public int getMaximumValue() {
         return DateTimeConstants.SUNDAY;
     }
@@ -119,6 +126,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * @param locale  the locale to use
      * @return the maximum textual length
      */
+    @Override
     public int getMaximumTextLength(Locale locale) {
         return GJLocaleSymbols.forLocale(locale).getDayOfWeekMaxTextLength();
     }
@@ -129,6 +137,7 @@ final class GJDayOfWeekDateTimeField extends PreciseDurationDateTimeField {
      * @param locale  the locale to use
      * @return the maximum abbreviated textual length
      */
+    @Override
     public int getMaximumShortTextLength(Locale locale) {
         return GJLocaleSymbols.forLocale(locale).getDayOfWeekMaxShortTextLength();
     }
diff --git a/src/main/java/org/joda/time/chrono/GJEraDateTimeField.java b/src/main/java/org/joda/time/chrono/GJEraDateTimeField.java
index 5c4484b8..1956bb0b 100644
--- a/src/main/java/org/joda/time/chrono/GJEraDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/GJEraDateTimeField.java
@@ -48,6 +48,7 @@ final class GJEraDateTimeField extends BaseDateTimeField {
         iChronology = chronology;
     }
 
+    @Override
     public boolean isLenient() {
         return false;
     }
@@ -57,6 +58,7 @@ final class GJEraDateTimeField extends BaseDateTimeField {
      * 
      * @param instant  the time instant in millis to query.
      */
+    @Override
     public int get(long instant) {
         if (iChronology.getYear(instant) <= 0) {
             return DateTimeConstants.BCE;
@@ -65,6 +67,7 @@ final class GJEraDateTimeField extends BaseDateTimeField {
         }
     }
 
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).eraValueToText(fieldValue);
     }
@@ -77,6 +80,7 @@ final class GJEraDateTimeField extends BaseDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException  if era is invalid.
      */
+    @Override
     public long set(long instant, int era) {
         FieldUtils.verifyValueBounds(this, era, DateTimeConstants.BCE, DateTimeConstants.CE);
             
@@ -89,10 +93,12 @@ final class GJEraDateTimeField extends BaseDateTimeField {
         }
     }
 
+    @Override
     public long set(long instant, String text, Locale locale) {
         return set(instant, GJLocaleSymbols.forLocale(locale).eraTextToValue(text));
     }
 
+    @Override
     public long roundFloor(long instant) {
         if (get(instant) == DateTimeConstants.CE) {
             return iChronology.setYear(0, 1);
@@ -101,6 +107,7 @@ final class GJEraDateTimeField extends BaseDateTimeField {
         }
     }
 
+    @Override
     public long roundCeiling(long instant) {
         if (get(instant) == DateTimeConstants.BCE) {
             return iChronology.setYear(0, 1);
@@ -109,37 +116,45 @@ final class GJEraDateTimeField extends BaseDateTimeField {
         }
     }
 
+    @Override
     public long roundHalfFloor(long instant) {
         // In reality, the era is infinite, so there is no halfway point.
         return roundFloor(instant);
     }
 
+    @Override
     public long roundHalfCeiling(long instant) {
         // In reality, the era is infinite, so there is no halfway point.
         return roundFloor(instant);
     }
 
+    @Override
     public long roundHalfEven(long instant) {
         // In reality, the era is infinite, so there is no halfway point.
         return roundFloor(instant);
     }
 
+    @Override
     public DurationField getDurationField() {
         return UnsupportedDurationField.getInstance(DurationFieldType.eras());
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
 
+    @Override
     public int getMinimumValue() {
         return DateTimeConstants.BCE;
     }
 
+    @Override
     public int getMaximumValue() {
         return DateTimeConstants.CE;
     }
 
+    @Override
     public int getMaximumTextLength(Locale locale) {
         return GJLocaleSymbols.forLocale(locale).getEraMaxTextLength();
     }
diff --git a/src/main/java/org/joda/time/chrono/GJMonthOfYearDateTimeField.java b/src/main/java/org/joda/time/chrono/GJMonthOfYearDateTimeField.java
index 1d3d6cf4..e3c5bc63 100644
--- a/src/main/java/org/joda/time/chrono/GJMonthOfYearDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/GJMonthOfYearDateTimeField.java
@@ -39,26 +39,31 @@ final class GJMonthOfYearDateTimeField extends BasicMonthOfYearDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).monthOfYearValueToText(fieldValue);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public String getAsShortText(int fieldValue, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).monthOfYearValueToShortText(fieldValue);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     protected int convertText(String text, Locale locale) {
         return GJLocaleSymbols.forLocale(locale).monthOfYearTextToValue(text);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int getMaximumTextLength(Locale locale) {
         return GJLocaleSymbols.forLocale(locale).getMonthMaxTextLength();
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int getMaximumShortTextLength(Locale locale) {
         return GJLocaleSymbols.forLocale(locale).getMonthMaxShortTextLength();
     }
diff --git a/src/main/java/org/joda/time/chrono/GJYearOfEraDateTimeField.java b/src/main/java/org/joda/time/chrono/GJYearOfEraDateTimeField.java
index 6ddde9a5..a4101657 100644
--- a/src/main/java/org/joda/time/chrono/GJYearOfEraDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/GJYearOfEraDateTimeField.java
@@ -48,6 +48,7 @@ final class GJYearOfEraDateTimeField extends DecoratedDateTimeField {
         return iChronology.eras();
     }
 
+    @Override
     public int get(long instant) {
         int year = getWrappedField().get(instant);
         if (year <= 0) {
@@ -56,26 +57,32 @@ final class GJYearOfEraDateTimeField extends DecoratedDateTimeField {
         return year;
     }
 
+    @Override
     public long add(long instant, int years) {
         return getWrappedField().add(instant, years);
     }
 
+    @Override
     public long add(long instant, long years) {
         return getWrappedField().add(instant, years);
     }
 
+    @Override
     public long addWrapField(long instant, int years) {
         return getWrappedField().addWrapField(instant, years);
     }
 
+    @Override
     public int[] addWrapField(ReadablePartial instant, int fieldIndex, int[] values, int years) {
         return getWrappedField().addWrapField(instant, fieldIndex, values, years);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifference(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
@@ -88,6 +95,7 @@ final class GJYearOfEraDateTimeField extends DecoratedDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException  if year is invalid.
      */
+    @Override
     public long set(long instant, int year) {
         FieldUtils.verifyValueBounds(this, year, 1, getMaximumValue());
         if (iChronology.getYear(instant) <= 0) {
@@ -96,22 +104,27 @@ final class GJYearOfEraDateTimeField extends DecoratedDateTimeField {
         return super.set(instant, year);
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return getWrappedField().getMaximumValue();
     }
 
+    @Override
     public long roundFloor(long instant) {
         return getWrappedField().roundFloor(instant);
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return getWrappedField().roundCeiling(instant);
     }
 
+    @Override
     public long remainder(long instant) {
         return getWrappedField().remainder(instant);
     }
diff --git a/src/main/java/org/joda/time/chrono/GregorianChronology.java b/src/main/java/org/joda/time/chrono/GregorianChronology.java
index 66c90472..324126ca 100644
--- a/src/main/java/org/joda/time/chrono/GregorianChronology.java
+++ b/src/main/java/org/joda/time/chrono/GregorianChronology.java
@@ -172,6 +172,7 @@ public final class GregorianChronology extends BasicGJChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -182,6 +183,7 @@ public final class GregorianChronology extends BasicGJChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -192,16 +194,19 @@ public final class GregorianChronology extends BasicGJChronology {
         return getInstance(zone);
     }
 
+    @Override
     protected void assemble(Fields fields) {
         if (getBase() == null) {
             super.assemble(fields);
         }
     }
 
+    @Override
     boolean isLeapYear(int year) {
         return ((year & 3) == 0) && ((year % 100) != 0 || (year % 400) == 0);
     }
 
+    @Override
     long calculateFirstDayOfYearMillis(int year) {
         // Initial value is just temporary.
         int leapYears = year / 100;
@@ -222,26 +227,32 @@ public final class GregorianChronology extends BasicGJChronology {
         return (year * 365L + (leapYears - DAYS_0000_TO_1970)) * DateTimeConstants.MILLIS_PER_DAY;
     }
 
+    @Override
     int getMinYear() {
         return MIN_YEAR;
     }
 
+    @Override
     int getMaxYear() {
         return MAX_YEAR;
     }
 
+    @Override
     long getAverageMillisPerYear() {
         return MILLIS_PER_YEAR;
     }
 
+    @Override
     long getAverageMillisPerYearDividedByTwo() {
         return MILLIS_PER_YEAR / 2;
     }
 
+    @Override
     long getAverageMillisPerMonth() {
         return MILLIS_PER_MONTH;
     }
 
+    @Override
     long getApproxMillisAtEpochDividedByTwo() {
         return (1970L * MILLIS_PER_YEAR) / 2;
     }
diff --git a/src/main/java/org/joda/time/chrono/ISOChronology.java b/src/main/java/org/joda/time/chrono/ISOChronology.java
index af70fc4a..cd44a9e2 100644
--- a/src/main/java/org/joda/time/chrono/ISOChronology.java
+++ b/src/main/java/org/joda/time/chrono/ISOChronology.java
@@ -117,6 +117,7 @@ public final class ISOChronology extends AssembledChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -127,6 +128,7 @@ public final class ISOChronology extends AssembledChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -144,6 +146,7 @@ public final class ISOChronology extends AssembledChronology {
      * 
      * @return a debugging string
      */
+    @Override
     public String toString() {
         String str = "ISOChronology";
         DateTimeZone zone = getZone();
@@ -153,6 +156,7 @@ public final class ISOChronology extends AssembledChronology {
         return str;
     }
 
+    @Override
     protected void assemble(Fields fields) {
         if (getBase().getZone() == DateTimeZone.UTC) {
             // Use zero based century and year of century.
@@ -175,6 +179,7 @@ public final class ISOChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.6
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -192,6 +197,7 @@ public final class ISOChronology extends AssembledChronology {
      * @return the hash code
      * @since 1.6
      */
+    @Override
     public int hashCode() {
         return "ISO".hashCode() * 11 + getZone().hashCode();
     }
diff --git a/src/main/java/org/joda/time/chrono/ISOYearOfEraDateTimeField.java b/src/main/java/org/joda/time/chrono/ISOYearOfEraDateTimeField.java
index 7d0b6bc2..39bf3832 100644
--- a/src/main/java/org/joda/time/chrono/ISOYearOfEraDateTimeField.java
+++ b/src/main/java/org/joda/time/chrono/ISOYearOfEraDateTimeField.java
@@ -53,35 +53,43 @@ class ISOYearOfEraDateTimeField extends DecoratedDateTimeField {
         return GregorianChronology.getInstanceUTC().eras();
     }
 
+    @Override
     public int get(long instant) {
         int year = getWrappedField().get(instant);
         return year < 0 ? -year : year;
     }
 
+    @Override
     public long add(long instant, int years) {
         return getWrappedField().add(instant, years);
     }
 
+    @Override
     public long add(long instant, long years) {
         return getWrappedField().add(instant, years);
     }
 
+    @Override
     public long addWrapField(long instant, int years) {
         return getWrappedField().addWrapField(instant, years);
     }
 
+    @Override
     public int[] addWrapField(ReadablePartial instant, int fieldIndex, int[] values, int years) {
         return getWrappedField().addWrapField(instant, fieldIndex, values, years);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifference(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long set(long instant, int year) {
         FieldUtils.verifyValueBounds(this, year, 0, getMaximumValue());
         if (getWrappedField().get(instant) < 0) {
@@ -90,22 +98,27 @@ class ISOYearOfEraDateTimeField extends DecoratedDateTimeField {
         return super.set(instant, year);
     }
 
+    @Override
     public int getMinimumValue() {
         return 0;
     }
 
+    @Override
     public int getMaximumValue() {
         return getWrappedField().getMaximumValue();
     }
 
+    @Override
     public long roundFloor(long instant) {
         return getWrappedField().roundFloor(instant);
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return getWrappedField().roundCeiling(instant);
     }
 
+    @Override
     public long remainder(long instant) {
         return getWrappedField().remainder(instant);
     }
diff --git a/src/main/java/org/joda/time/chrono/IslamicChronology.java b/src/main/java/org/joda/time/chrono/IslamicChronology.java
index d6a2afd0..0f2c42ed 100644
--- a/src/main/java/org/joda/time/chrono/IslamicChronology.java
+++ b/src/main/java/org/joda/time/chrono/IslamicChronology.java
@@ -260,6 +260,7 @@ public final class IslamicChronology extends BasicChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -270,6 +271,7 @@ public final class IslamicChronology extends BasicChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -288,6 +290,7 @@ public final class IslamicChronology extends BasicChronology {
      * @return true if equal
      * @since 2.3
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -306,11 +309,13 @@ public final class IslamicChronology extends BasicChronology {
      * @return the hash code
      * @since 1.6
      */
+    @Override
     public int hashCode() {
         return super.hashCode() * 13 + getLeapYearPatternType().hashCode();
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getYear(long instant) {
         long millisIslamic = instant - MILLIS_YEAR_1;
         long cycles = millisIslamic / MILLIS_PER_CYCLE;
@@ -325,6 +330,7 @@ public final class IslamicChronology extends BasicChronology {
         return year;
     }
 
+    @Override
     long setYear(long instant, int year) {
         // optimsed implementation of set, due to fixed months
         int thisYear = getYear(instant);
@@ -343,6 +349,7 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getYearDifference(long minuendInstant, long subtrahendInstant) {
         // optimsed implementation of getDifference, due to fixed months
         int minuendYear = getYear(minuendInstant);
@@ -360,6 +367,7 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getTotalMillisByYearMonth(int year, int month) {
         if (--month % 2 == 1) {
             month /= 2;
@@ -371,6 +379,7 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDayOfMonth(long millis) {
         // optimised for simple months
         int doy = getDayOfYear(millis) - 1;
@@ -381,21 +390,25 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     boolean isLeapYear(int year) {
         return iLeapYears.isLeapYear(year);
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInYearMax() {
         return 355;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInYear(int year) {
         return isLeapYear(year) ? 355 : 354;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInYearMonth(int year, int month) {
         if (month == 12 && isLeapYear(year)) {
             return LONG_MONTH_LENGTH;
@@ -404,11 +417,13 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInMonthMax() {
         return LONG_MONTH_LENGTH;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getDaysInMonthMax(int month) {
         if (month == 12) {
             return LONG_MONTH_LENGTH;
@@ -417,6 +432,7 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMonthOfYear(long millis, int year) {
         int doyZeroBased = (int) ((millis - getYearMillis(year)) / DateTimeConstants.MILLIS_PER_DAY);
         if (doyZeroBased == 354) {
@@ -431,21 +447,25 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getAverageMillisPerYear() {
         return MILLIS_PER_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getAverageMillisPerYearDividedByTwo() {
         return MILLIS_PER_YEAR / 2;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getAverageMillisPerMonth() {
         return MILLIS_PER_MONTH;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long calculateFirstDayOfYearMillis(int year) {
         if (year > MAX_YEAR) {
             throw new ArithmeticException("Year is too large: " + year + " > " + MAX_YEAR);
@@ -471,22 +491,26 @@ public final class IslamicChronology extends BasicChronology {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMinYear() {
         return 1; //MIN_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     int getMaxYear() {
         return MAX_YEAR;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     long getApproxMillisAtEpochDividedByTwo() {
         // Epoch 1970-01-01 ISO = 1389-10-22 Islamic
         return (-MILLIS_YEAR_1) / 2;
     }
 
     //-----------------------------------------------------------------------
+    @Override
     protected void assemble(Fields fields) {
         if (getBase() == null) {
             super.assemble(fields);
diff --git a/src/main/java/org/joda/time/chrono/JulianChronology.java b/src/main/java/org/joda/time/chrono/JulianChronology.java
index fa261bd4..7d93e0e3 100644
--- a/src/main/java/org/joda/time/chrono/JulianChronology.java
+++ b/src/main/java/org/joda/time/chrono/JulianChronology.java
@@ -186,6 +186,7 @@ public final class JulianChronology extends BasicGJChronology {
      * 
      * @return the chronology in UTC
      */
+    @Override
     public Chronology withUTC() {
         return INSTANCE_UTC;
     }
@@ -196,6 +197,7 @@ public final class JulianChronology extends BasicGJChronology {
      * @param zone  the zone to get the chronology in, null is default
      * @return the chronology
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -206,16 +208,19 @@ public final class JulianChronology extends BasicGJChronology {
         return getInstance(zone);
     }
 
+    @Override
     long getDateMidnightMillis(int year, int monthOfYear, int dayOfMonth)
         throws IllegalArgumentException
     {
         return super.getDateMidnightMillis(adjustYearForSet(year), monthOfYear, dayOfMonth);
     }
 
+    @Override
     boolean isLeapYear(int year) {
         return (year & 3) == 0;
     }
 
+    @Override
     long calculateFirstDayOfYearMillis(int year) {
         // Java epoch is 1970-01-01 Gregorian which is 1969-12-19 Julian.
         // Calculate relative to the nearest leap year and account for the
@@ -242,30 +247,37 @@ public final class JulianChronology extends BasicGJChronology {
         return millis - (366L + 352) * DateTimeConstants.MILLIS_PER_DAY;
     }
 
+    @Override
     int getMinYear() {
         return MIN_YEAR;
     }
 
+    @Override
     int getMaxYear() {
         return MAX_YEAR;
     }
 
+    @Override
     long getAverageMillisPerYear() {
         return MILLIS_PER_YEAR;
     }
 
+    @Override
     long getAverageMillisPerYearDividedByTwo() {
         return MILLIS_PER_YEAR / 2;
     }
 
+    @Override
     long getAverageMillisPerMonth() {
         return MILLIS_PER_MONTH;
     }
 
+    @Override
     long getApproxMillisAtEpochDividedByTwo() {
         return (1969L * MILLIS_PER_YEAR + 352L * DateTimeConstants.MILLIS_PER_DAY) / 2;
     }
 
+    @Override
     protected void assemble(Fields fields) {
         if (getBase() == null) {
             super.assemble(fields);
diff --git a/src/main/java/org/joda/time/chrono/LenientChronology.java b/src/main/java/org/joda/time/chrono/LenientChronology.java
index f072d586..78b52337 100644
--- a/src/main/java/org/joda/time/chrono/LenientChronology.java
+++ b/src/main/java/org/joda/time/chrono/LenientChronology.java
@@ -59,6 +59,7 @@ public final class LenientChronology extends AssembledChronology {
         super(base, null);
     }
 
+    @Override
     public Chronology withUTC() {
         if (iWithUTC == null) {
             if (getZone() == DateTimeZone.UTC) {
@@ -70,6 +71,7 @@ public final class LenientChronology extends AssembledChronology {
         return iWithUTC;
     }
 
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -83,6 +85,7 @@ public final class LenientChronology extends AssembledChronology {
         return LenientChronology.getInstance(getBase().withZone(zone));
     }
 
+    @Override
     protected void assemble(Fields fields) {
         fields.year = convertField(fields.year);
         fields.yearOfEra = convertField(fields.yearOfEra);
@@ -123,6 +126,7 @@ public final class LenientChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.4
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -140,6 +144,7 @@ public final class LenientChronology extends AssembledChronology {
      * @return the hashcode
      * @since 1.4
      */
+    @Override
     public int hashCode() {
         return 236548278 + getBase().hashCode() * 7;
     }
@@ -149,6 +154,7 @@ public final class LenientChronology extends AssembledChronology {
      * 
      * @return the debugging string
      */
+    @Override
     public String toString() {
         return "LenientChronology[" + getBase().toString() + ']';
     }
diff --git a/src/main/java/org/joda/time/chrono/LimitChronology.java b/src/main/java/org/joda/time/chrono/LimitChronology.java
index 1e0aa93b..3985b28c 100644
--- a/src/main/java/org/joda/time/chrono/LimitChronology.java
+++ b/src/main/java/org/joda/time/chrono/LimitChronology.java
@@ -123,6 +123,7 @@ public final class LimitChronology extends AssembledChronology {
      * returned. Otherwise, a new instance is returned, with the limits
      * adjusted to the new time zone.
      */
+    @Override
     public Chronology withUTC() {
         return withZone(DateTimeZone.UTC);
     }
@@ -132,6 +133,7 @@ public final class LimitChronology extends AssembledChronology {
      * this is returned. Otherwise, a new instance is returned, with the limits
      * adjusted to the new time zone.
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -168,6 +170,7 @@ public final class LimitChronology extends AssembledChronology {
         return chrono;
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int millisOfDay)
         throws IllegalArgumentException
@@ -177,6 +180,7 @@ public final class LimitChronology extends AssembledChronology {
         return instant;
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -189,6 +193,7 @@ public final class LimitChronology extends AssembledChronology {
         return instant;
     }
 
+    @Override
     public long getDateTimeMillis(long instant,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -201,6 +206,7 @@ public final class LimitChronology extends AssembledChronology {
         return instant;
     }
 
+    @Override
     protected void assemble(Fields fields) {
         // Keep a local cache of converted fields so as not to create redundant
         // objects.
@@ -297,6 +303,7 @@ public final class LimitChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.4
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -317,6 +324,7 @@ public final class LimitChronology extends AssembledChronology {
      * @return the hashcode
      * @since 1.4
      */
+    @Override
     public int hashCode() {
         int hash = 317351877;
         hash += (getLowerLimit() != null ? getLowerLimit().hashCode() : 0);
@@ -330,6 +338,7 @@ public final class LimitChronology extends AssembledChronology {
      * 
      * @return the debugging string
      */
+    @Override
     public String toString() {
         return "LimitChronology[" + getBase().toString() + ", " +
             (getLowerLimit() == null ? "NoLimit" : getLowerLimit().toString()) + ", " +
@@ -351,6 +360,7 @@ public final class LimitChronology extends AssembledChronology {
             iIsLow = isLow;
         }
 
+        @Override
         public String getMessage() {
             StringBuffer buf = new StringBuffer(85);
             buf.append("The");
@@ -378,6 +388,7 @@ public final class LimitChronology extends AssembledChronology {
             return buf.toString();
         }
 
+        @Override
         public String toString() {
             return "IllegalArgumentException: " + getMessage();
         }
@@ -390,26 +401,31 @@ public final class LimitChronology extends AssembledChronology {
             super(field, field.getType());
         }
 
+        @Override
         public int getValue(long duration, long instant) {
             checkLimits(instant, null);
             return getWrappedField().getValue(duration, instant);
         }
 
+        @Override
         public long getValueAsLong(long duration, long instant) {
             checkLimits(instant, null);
             return getWrappedField().getValueAsLong(duration, instant);
         }
 
+        @Override
         public long getMillis(int value, long instant) {
             checkLimits(instant, null);
             return getWrappedField().getMillis(value, instant);
         }
 
+        @Override
         public long getMillis(long value, long instant) {
             checkLimits(instant, null);
             return getWrappedField().getMillis(value, instant);
         }
 
+        @Override
         public long add(long instant, int amount) {
             checkLimits(instant, null);
             long result = getWrappedField().add(instant, amount);
@@ -417,6 +433,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
 
+        @Override
         public long add(long instant, long amount) {
             checkLimits(instant, null);
             long result = getWrappedField().add(instant, amount);
@@ -424,12 +441,14 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
 
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             checkLimits(minuendInstant, "minuend");
             checkLimits(subtrahendInstant, "subtrahend");
             return getWrappedField().getDifference(minuendInstant, subtrahendInstant);
         }
 
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             checkLimits(minuendInstant, "minuend");
             checkLimits(subtrahendInstant, "subtrahend");
@@ -456,21 +475,25 @@ public final class LimitChronology extends AssembledChronology {
             iLeapDurationField = leapDurationField;
         }
 
+        @Override
         public int get(long instant) {
             checkLimits(instant, null);
             return getWrappedField().get(instant);
         }
         
+        @Override
         public String getAsText(long instant, Locale locale) {
             checkLimits(instant, null);
             return getWrappedField().getAsText(instant, locale);
         }
         
+        @Override
         public String getAsShortText(long instant, Locale locale) {
             checkLimits(instant, null);
             return getWrappedField().getAsShortText(instant, locale);
         }
         
+        @Override
         public long add(long instant, int amount) {
             checkLimits(instant, null);
             long result = getWrappedField().add(instant, amount);
@@ -478,6 +501,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
 
+        @Override
         public long add(long instant, long amount) {
             checkLimits(instant, null);
             long result = getWrappedField().add(instant, amount);
@@ -485,6 +509,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
 
+        @Override
         public long addWrapField(long instant, int amount) {
             checkLimits(instant, null);
             long result = getWrappedField().addWrapField(instant, amount);
@@ -492,18 +517,21 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             checkLimits(minuendInstant, "minuend");
             checkLimits(subtrahendInstant, "subtrahend");
             return getWrappedField().getDifference(minuendInstant, subtrahendInstant);
         }
         
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             checkLimits(minuendInstant, "minuend");
             checkLimits(subtrahendInstant, "subtrahend");
             return getWrappedField().getDifferenceAsLong(minuendInstant, subtrahendInstant);
         }
         
+        @Override
         public long set(long instant, int value) {
             checkLimits(instant, null);
             long result = getWrappedField().set(instant, value);
@@ -511,6 +539,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public long set(long instant, String text, Locale locale) {
             checkLimits(instant, null);
             long result = getWrappedField().set(instant, text, locale);
@@ -518,28 +547,34 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public final DurationField getDurationField() {
             return iDurationField;
         }
 
+        @Override
         public final DurationField getRangeDurationField() {
             return iRangeDurationField;
         }
 
+        @Override
         public boolean isLeap(long instant) {
             checkLimits(instant, null);
             return getWrappedField().isLeap(instant);
         }
         
+        @Override
         public int getLeapAmount(long instant) {
             checkLimits(instant, null);
             return getWrappedField().getLeapAmount(instant);
         }
         
+        @Override
         public final DurationField getLeapDurationField() {
             return iLeapDurationField;
         }
         
+        @Override
         public long roundFloor(long instant) {
             checkLimits(instant, null);
             long result = getWrappedField().roundFloor(instant);
@@ -547,6 +582,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public long roundCeiling(long instant) {
             checkLimits(instant, null);
             long result = getWrappedField().roundCeiling(instant);
@@ -554,6 +590,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public long roundHalfFloor(long instant) {
             checkLimits(instant, null);
             long result = getWrappedField().roundHalfFloor(instant);
@@ -561,6 +598,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public long roundHalfCeiling(long instant) {
             checkLimits(instant, null);
             long result = getWrappedField().roundHalfCeiling(instant);
@@ -568,6 +606,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public long roundHalfEven(long instant) {
             checkLimits(instant, null);
             long result = getWrappedField().roundHalfEven(instant);
@@ -575,6 +614,7 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
         
+        @Override
         public long remainder(long instant) {
             checkLimits(instant, null);
             long result = getWrappedField().remainder(instant);
@@ -582,20 +622,24 @@ public final class LimitChronology extends AssembledChronology {
             return result;
         }
 
+        @Override
         public int getMinimumValue(long instant) {
             checkLimits(instant, null);
             return getWrappedField().getMinimumValue(instant);
         }
 
+        @Override
         public int getMaximumValue(long instant) {
             checkLimits(instant, null);
             return getWrappedField().getMaximumValue(instant);
         }
 
+        @Override
         public int getMaximumTextLength(Locale locale) {
             return getWrappedField().getMaximumTextLength(locale);
         }
 
+        @Override
         public int getMaximumShortTextLength(Locale locale) {
             return getWrappedField().getMaximumShortTextLength(locale);
         }
diff --git a/src/main/java/org/joda/time/chrono/StrictChronology.java b/src/main/java/org/joda/time/chrono/StrictChronology.java
index 898445d9..a109c511 100644
--- a/src/main/java/org/joda/time/chrono/StrictChronology.java
+++ b/src/main/java/org/joda/time/chrono/StrictChronology.java
@@ -59,6 +59,7 @@ public final class StrictChronology extends AssembledChronology {
         super(base, null);
     }
 
+    @Override
     public Chronology withUTC() {
         if (iWithUTC == null) {
             if (getZone() == DateTimeZone.UTC) {
@@ -70,6 +71,7 @@ public final class StrictChronology extends AssembledChronology {
         return iWithUTC;
     }
 
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -83,6 +85,7 @@ public final class StrictChronology extends AssembledChronology {
         return StrictChronology.getInstance(getBase().withZone(zone));
     }
 
+    @Override
     protected void assemble(Fields fields) {
         fields.year = convertField(fields.year);
         fields.yearOfEra = convertField(fields.yearOfEra);
@@ -123,6 +126,7 @@ public final class StrictChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.4
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -140,6 +144,7 @@ public final class StrictChronology extends AssembledChronology {
      * @return the hashcode
      * @since 1.4
      */
+    @Override
     public int hashCode() {
         return 352831696 + getBase().hashCode() * 7;
     }
@@ -149,6 +154,7 @@ public final class StrictChronology extends AssembledChronology {
      * 
      * @return the debugging string
      */
+    @Override
     public String toString() {
         return "StrictChronology[" + getBase().toString() + ']';
     }
diff --git a/src/main/java/org/joda/time/chrono/ZonedChronology.java b/src/main/java/org/joda/time/chrono/ZonedChronology.java
index 23fde526..2f5e7ab5 100644
--- a/src/main/java/org/joda/time/chrono/ZonedChronology.java
+++ b/src/main/java/org/joda/time/chrono/ZonedChronology.java
@@ -85,14 +85,17 @@ public final class ZonedChronology extends AssembledChronology {
         super(base, zone);
     }
 
+    @Override
     public DateTimeZone getZone() {
         return (DateTimeZone)getParam();
     }
 
+    @Override
     public Chronology withUTC() {
         return getBase();
     }
 
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         if (zone == null) {
             zone = DateTimeZone.getDefault();
@@ -106,6 +109,7 @@ public final class ZonedChronology extends AssembledChronology {
         return new ZonedChronology(getBase(), zone);
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int millisOfDay)
         throws IllegalArgumentException
@@ -114,6 +118,7 @@ public final class ZonedChronology extends AssembledChronology {
                           (year, monthOfYear, dayOfMonth, millisOfDay));
     }
 
+    @Override
     public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -124,6 +129,7 @@ public final class ZonedChronology extends AssembledChronology {
                            hourOfDay, minuteOfHour, secondOfMinute, millisOfSecond));
     }
 
+    @Override
     public long getDateTimeMillis(long instant,
                                   int hourOfDay, int minuteOfHour,
                                   int secondOfMinute, int millisOfSecond)
@@ -159,6 +165,7 @@ public final class ZonedChronology extends AssembledChronology {
         return utcInstant;
     }
 
+    @Override
     protected void assemble(Fields fields) {
         // Keep a local cache of converted fields so as not to create redundant
         // objects.
@@ -245,6 +252,7 @@ public final class ZonedChronology extends AssembledChronology {
      * @return true if equal
      * @since 1.4
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -264,6 +272,7 @@ public final class ZonedChronology extends AssembledChronology {
      * @return the hashcode
      * @since 1.4
      */
+    @Override
     public int hashCode() {
         return 326565 + getZone().hashCode() * 11 + getBase().hashCode() * 7;
     }
@@ -273,6 +282,7 @@ public final class ZonedChronology extends AssembledChronology {
      * 
      * @return the debugging string
      */
+    @Override
     public String toString() {
         return "ZonedChronology[" + getBase() + ", " + getZone().getID() + ']';
     }
@@ -302,42 +312,51 @@ public final class ZonedChronology extends AssembledChronology {
             iZone = zone;
         }
 
+        @Override
         public boolean isPrecise() {
             return iTimeField ? iField.isPrecise() : iField.isPrecise() && this.iZone.isFixed();
         }
 
+        @Override
         public long getUnitMillis() {
             return iField.getUnitMillis();
         }
 
+        @Override
         public int getValue(long duration, long instant) {
             return iField.getValue(duration, addOffset(instant));
         }
 
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return iField.getValueAsLong(duration, addOffset(instant));
         }
 
+        @Override
         public long getMillis(int value, long instant) {
             return iField.getMillis(value, addOffset(instant));
         }
 
+        @Override
         public long getMillis(long value, long instant) {
             return iField.getMillis(value, addOffset(instant));
         }
 
+        @Override
         public long add(long instant, int value) {
             int offset = getOffsetToAdd(instant);
             instant = iField.add(instant + offset, value);
             return instant - (iTimeField ? offset : getOffsetFromLocalToSubtract(instant));
         }
 
+        @Override
         public long add(long instant, long value) {
             int offset = getOffsetToAdd(instant);
             instant = iField.add(instant + offset, value);
             return instant - (iTimeField ? offset : getOffsetFromLocalToSubtract(instant));
         }
 
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             int offset = getOffsetToAdd(subtrahendInstant);
             return iField.getDifference
@@ -345,6 +364,7 @@ public final class ZonedChronology extends AssembledChronology {
                  subtrahendInstant + offset);
         }
 
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             int offset = getOffsetToAdd(subtrahendInstant);
             return iField.getDifferenceAsLong
@@ -428,33 +448,40 @@ public final class ZonedChronology extends AssembledChronology {
             iLeapDurationField = leapDurationField;
         }
 
+        @Override
         public boolean isLenient() {
             return iField.isLenient();
         }
 
+        @Override
         public int get(long instant) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.get(localInstant);
         }
 
+        @Override
         public String getAsText(long instant, Locale locale) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.getAsText(localInstant, locale);
         }
 
+        @Override
         public String getAsShortText(long instant, Locale locale) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.getAsShortText(localInstant, locale);
         }
 
+        @Override
         public String getAsText(int fieldValue, Locale locale) {
             return iField.getAsText(fieldValue, locale);
         }
 
+        @Override
         public String getAsShortText(int fieldValue, Locale locale) {
             return iField.getAsShortText(fieldValue, locale);
         }
 
+        @Override
         public long add(long instant, int value) {
             if (iTimeField) {
                 int offset = getOffsetToAdd(instant);
@@ -467,6 +494,7 @@ public final class ZonedChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public long add(long instant, long value) {
             if (iTimeField) {
                 int offset = getOffsetToAdd(instant);
@@ -479,6 +507,7 @@ public final class ZonedChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public long addWrapField(long instant, int value) {
             if (iTimeField) {
                 int offset = getOffsetToAdd(instant);
@@ -491,6 +520,7 @@ public final class ZonedChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public long set(long instant, int value) {
             long localInstant = iZone.convertUTCToLocal(instant);
             localInstant = iField.set(localInstant, value);
@@ -504,6 +534,7 @@ public final class ZonedChronology extends AssembledChronology {
             return result;
         }
 
+        @Override
         public long set(long instant, String text, Locale locale) {
             // cannot verify that new value stuck because set may be lenient
             long localInstant = iZone.convertUTCToLocal(instant);
@@ -511,6 +542,7 @@ public final class ZonedChronology extends AssembledChronology {
             return iZone.convertLocalToUTC(localInstant, false, instant);
         }
 
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             int offset = getOffsetToAdd(subtrahendInstant);
             return iField.getDifference
@@ -518,6 +550,7 @@ public final class ZonedChronology extends AssembledChronology {
                  subtrahendInstant + offset);
         }
 
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             int offset = getOffsetToAdd(subtrahendInstant);
             return iField.getDifferenceAsLong
@@ -525,28 +558,34 @@ public final class ZonedChronology extends AssembledChronology {
                  subtrahendInstant + offset);
         }
 
+        @Override
         public final DurationField getDurationField() {
             return iDurationField;
         }
 
+        @Override
         public final DurationField getRangeDurationField() {
             return iRangeDurationField;
         }
 
+        @Override
         public boolean isLeap(long instant) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.isLeap(localInstant);
         }
 
+        @Override
         public int getLeapAmount(long instant) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.getLeapAmount(localInstant);
         }
 
+        @Override
         public final DurationField getLeapDurationField() {
             return iLeapDurationField;
         }
 
+        @Override
         public long roundFloor(long instant) {
             if (iTimeField) {
                 int offset = getOffsetToAdd(instant);
@@ -559,6 +598,7 @@ public final class ZonedChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public long roundCeiling(long instant) {
             if (iTimeField) {
                 int offset = getOffsetToAdd(instant);
@@ -571,49 +611,60 @@ public final class ZonedChronology extends AssembledChronology {
             }
         }
 
+        @Override
         public long remainder(long instant) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.remainder(localInstant);
         }
 
+        @Override
         public int getMinimumValue() {
             return iField.getMinimumValue();
         }
 
+        @Override
         public int getMinimumValue(long instant) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.getMinimumValue(localInstant);
         }
 
+        @Override
         public int getMinimumValue(ReadablePartial instant) {
             return iField.getMinimumValue(instant);
         }
 
+        @Override
         public int getMinimumValue(ReadablePartial instant, int[] values) {
             return iField.getMinimumValue(instant, values);
         }
 
+        @Override
         public int getMaximumValue() {
             return iField.getMaximumValue();
         }
 
+        @Override
         public int getMaximumValue(long instant) {
             long localInstant = iZone.convertUTCToLocal(instant);
             return iField.getMaximumValue(localInstant);
         }
 
+        @Override
         public int getMaximumValue(ReadablePartial instant) {
             return iField.getMaximumValue(instant);
         }
 
+        @Override
         public int getMaximumValue(ReadablePartial instant, int[] values) {
             return iField.getMaximumValue(instant, values);
         }
 
+        @Override
         public int getMaximumTextLength(Locale locale) {
             return iField.getMaximumTextLength(locale);
         }
 
+        @Override
         public int getMaximumShortTextLength(Locale locale) {
             return iField.getMaximumShortTextLength(locale);
         }
diff --git a/src/main/java/org/joda/time/convert/AbstractConverter.java b/src/main/java/org/joda/time/convert/AbstractConverter.java
index 2bcd94d7..f58aa09e 100644
--- a/src/main/java/org/joda/time/convert/AbstractConverter.java
+++ b/src/main/java/org/joda/time/convert/AbstractConverter.java
@@ -154,6 +154,7 @@ public abstract class AbstractConverter implements Converter {
      * 
      * @return a debugging string
      */
+    @Override
     public String toString() {
         return "Converter[" + (getSupportedType() == null ? "null" : getSupportedType().getName()) + "]";
     }
diff --git a/src/main/java/org/joda/time/convert/CalendarConverter.java b/src/main/java/org/joda/time/convert/CalendarConverter.java
index a61e8231..75dcb19e 100644
--- a/src/main/java/org/joda/time/convert/CalendarConverter.java
+++ b/src/main/java/org/joda/time/convert/CalendarConverter.java
@@ -64,6 +64,7 @@ final class CalendarConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public Chronology getChronology(Object object, Chronology chrono) {
         if (chrono != null) {
             return chrono;
@@ -90,6 +91,7 @@ final class CalendarConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public Chronology getChronology(Object object, DateTimeZone zone) {
         if (object.getClass().getName().endsWith(".BuddhistCalendar")) {
             return BuddhistChronology.getInstance(zone);
@@ -117,6 +119,7 @@ final class CalendarConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public long getInstantMillis(Object object, Chronology chrono) {
         Calendar calendar = (Calendar) object;
         return calendar.getTime().getTime();
diff --git a/src/main/java/org/joda/time/convert/ConverterManager.java b/src/main/java/org/joda/time/convert/ConverterManager.java
index 5b90532a..f1371f76 100644
--- a/src/main/java/org/joda/time/convert/ConverterManager.java
+++ b/src/main/java/org/joda/time/convert/ConverterManager.java
@@ -585,6 +585,7 @@ public final class ConverterManager {
     /**
      * Gets a debug representation of the object.
      */
+    @Override
     public String toString() {
         return "ConverterManager[" +
             iInstantConverters.size() + " instant," +
diff --git a/src/main/java/org/joda/time/convert/DateConverter.java b/src/main/java/org/joda/time/convert/DateConverter.java
index 8caaa2ab..11441487 100644
--- a/src/main/java/org/joda/time/convert/DateConverter.java
+++ b/src/main/java/org/joda/time/convert/DateConverter.java
@@ -51,6 +51,7 @@ final class DateConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public long getInstantMillis(Object object, Chronology chrono) {
         Date date = (Date) object;
         return date.getTime();
diff --git a/src/main/java/org/joda/time/convert/LongConverter.java b/src/main/java/org/joda/time/convert/LongConverter.java
index 6d3f5612..2e8d8cd0 100644
--- a/src/main/java/org/joda/time/convert/LongConverter.java
+++ b/src/main/java/org/joda/time/convert/LongConverter.java
@@ -50,6 +50,7 @@ class LongConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public long getInstantMillis(Object object, Chronology chrono) {
         return ((Long) object).longValue();
     }
diff --git a/src/main/java/org/joda/time/convert/ReadableInstantConverter.java b/src/main/java/org/joda/time/convert/ReadableInstantConverter.java
index 7819e18e..b907ee7c 100644
--- a/src/main/java/org/joda/time/convert/ReadableInstantConverter.java
+++ b/src/main/java/org/joda/time/convert/ReadableInstantConverter.java
@@ -54,6 +54,7 @@ class ReadableInstantConverter extends AbstractConverter
      * @param zone  the specified zone to use, null means default zone
      * @return the chronology, never null
      */
+    @Override
     public Chronology getChronology(Object object, DateTimeZone zone) {
         Chronology chrono = ((ReadableInstant) object).getChronology();
         if (chrono == null) {
@@ -79,6 +80,7 @@ class ReadableInstantConverter extends AbstractConverter
      * @param chrono  the chronology to use, null means use that from object
      * @return the chronology, never null
      */
+    @Override
     public Chronology getChronology(Object object, Chronology chrono) {
         if (chrono == null) {
             chrono = ((ReadableInstant) object).getChronology();
@@ -96,6 +98,7 @@ class ReadableInstantConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public long getInstantMillis(Object object, Chronology chrono) {
         return ((ReadableInstant) object).getMillis();
     }
diff --git a/src/main/java/org/joda/time/convert/ReadableIntervalConverter.java b/src/main/java/org/joda/time/convert/ReadableIntervalConverter.java
index 0c9ccc37..97c2bf4d 100644
--- a/src/main/java/org/joda/time/convert/ReadableIntervalConverter.java
+++ b/src/main/java/org/joda/time/convert/ReadableIntervalConverter.java
@@ -82,6 +82,7 @@ class ReadableIntervalConverter extends AbstractConverter
      * @return true if the input is a ReadableInterval
      * @throws ClassCastException if the object is invalid
      */
+    @Override
     public boolean isReadableInterval(Object object, Chronology chrono) {
         return true;
     }
diff --git a/src/main/java/org/joda/time/convert/ReadablePartialConverter.java b/src/main/java/org/joda/time/convert/ReadablePartialConverter.java
index 44aa4bf0..2eaa0df0 100644
--- a/src/main/java/org/joda/time/convert/ReadablePartialConverter.java
+++ b/src/main/java/org/joda/time/convert/ReadablePartialConverter.java
@@ -49,6 +49,7 @@ class ReadablePartialConverter extends AbstractConverter
      * @param zone  the specified zone to use, null means default zone
      * @return the chronology, never null
      */
+    @Override
     public Chronology getChronology(Object object, DateTimeZone zone) {
         return getChronology(object, (Chronology) null).withZone(zone);
     }
@@ -63,6 +64,7 @@ class ReadablePartialConverter extends AbstractConverter
      * @param chrono  the chronology to use, null means use that from object
      * @return the chronology, never null
      */
+    @Override
     public Chronology getChronology(Object object, Chronology chrono) {
         if (chrono == null) {
             chrono = ((ReadablePartial) object).getChronology();
@@ -83,6 +85,7 @@ class ReadablePartialConverter extends AbstractConverter
      * @return the array of field values that match the fieldSource, must be non-null valid
      * @throws ClassCastException if the object is invalid
      */
+    @Override
     public int[] getPartialValues(ReadablePartial fieldSource, Object object, Chronology chrono) {
         ReadablePartial input = (ReadablePartial) object;
         int size = fieldSource.size();
diff --git a/src/main/java/org/joda/time/convert/ReadablePeriodConverter.java b/src/main/java/org/joda/time/convert/ReadablePeriodConverter.java
index 07886bc0..8dbf4c3b 100644
--- a/src/main/java/org/joda/time/convert/ReadablePeriodConverter.java
+++ b/src/main/java/org/joda/time/convert/ReadablePeriodConverter.java
@@ -66,6 +66,7 @@ class ReadablePeriodConverter extends AbstractConverter
      * @throws NullPointerException if the object is null
      * @throws ClassCastException if the object is an invalid type
      */
+    @Override
     public PeriodType getPeriodType(Object object) {
         ReadablePeriod period = (ReadablePeriod) object;
         return period.getPeriodType();
diff --git a/src/main/java/org/joda/time/convert/StringConverter.java b/src/main/java/org/joda/time/convert/StringConverter.java
index a0d505d4..e8f6924e 100644
--- a/src/main/java/org/joda/time/convert/StringConverter.java
+++ b/src/main/java/org/joda/time/convert/StringConverter.java
@@ -59,6 +59,7 @@ class StringConverter extends AbstractConverter
      * @return the millisecond value
      * @throws IllegalArgumentException if the value if invalid
      */
+    @Override
     public long getInstantMillis(Object object, Chronology chrono) {
         String str = (String) object;
         DateTimeFormatter p = ISODateTimeFormat.dateTimeParser();
@@ -80,6 +81,7 @@ class StringConverter extends AbstractConverter
      * @throws IllegalArgumentException if the value if invalid
      * @since 1.3
      */
+    @Override
     public int[] getPartialValues(ReadablePartial fieldSource, Object object, Chronology chrono, DateTimeFormatter parser) {
         if (parser.getZone() != null) {
             chrono = chrono.withZone(parser.getZone());
diff --git a/src/main/java/org/joda/time/field/AbstractPartialFieldProperty.java b/src/main/java/org/joda/time/field/AbstractPartialFieldProperty.java
index 7fef6eff..fa72ef61 100644
--- a/src/main/java/org/joda/time/field/AbstractPartialFieldProperty.java
+++ b/src/main/java/org/joda/time/field/AbstractPartialFieldProperty.java
@@ -318,6 +318,7 @@ public abstract class AbstractPartialFieldProperty {
      * @param object  the object to compare to
      * @return true if equal
      */
+    @Override
     public boolean equals(Object object) {
         if (this == object) {
             return true;
@@ -339,6 +340,7 @@ public abstract class AbstractPartialFieldProperty {
      * @return the hashcode
      * @since 1.3
      */
+    @Override
     public int hashCode() {
         int hash = 19;
         hash = 13 * hash + get();
@@ -353,6 +355,7 @@ public abstract class AbstractPartialFieldProperty {
      * 
      * @return debugging string
      */
+    @Override
     public String toString() {
         return "Property[" + getName() + "]";
     }
diff --git a/src/main/java/org/joda/time/field/AbstractReadableInstantFieldProperty.java b/src/main/java/org/joda/time/field/AbstractReadableInstantFieldProperty.java
index 01969e06..ce2f4866 100644
--- a/src/main/java/org/joda/time/field/AbstractReadableInstantFieldProperty.java
+++ b/src/main/java/org/joda/time/field/AbstractReadableInstantFieldProperty.java
@@ -438,6 +438,7 @@ public abstract class AbstractReadableInstantFieldProperty implements Serializab
      * @param object  the object to compare to
      * @return true if equal
      */
+    @Override
     public boolean equals(Object object) {
         if (this == object) {
             return true;
@@ -457,6 +458,7 @@ public abstract class AbstractReadableInstantFieldProperty implements Serializab
      * 
      * @return the hashcode
      */
+    @Override
     public int hashCode() {
         return get() * 17 + getFieldType().hashCode() + getChronology().hashCode();
     }
@@ -467,6 +469,7 @@ public abstract class AbstractReadableInstantFieldProperty implements Serializab
      * 
      * @return debugging string
      */
+    @Override
     public String toString() {
         return "Property[" + getName() + "]";
     }
diff --git a/src/main/java/org/joda/time/field/BaseDateTimeField.java b/src/main/java/org/joda/time/field/BaseDateTimeField.java
index da19ad14..197a1ab5 100644
--- a/src/main/java/org/joda/time/field/BaseDateTimeField.java
+++ b/src/main/java/org/joda/time/field/BaseDateTimeField.java
@@ -54,10 +54,12 @@ public abstract class BaseDateTimeField extends DateTimeField {
         iType = type;
     }
     
+    @Override
     public final DateTimeFieldType getType() {
         return iType;
     }
 
+    @Override
     public final String getName() {
         return iType.getName();
     }
@@ -65,6 +67,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
     /**
      * @return true always
      */
+    @Override
     public final boolean isSupported() {
         return true;
     }
@@ -77,6 +80,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to query
      * @return the value of the field, in the units of the field
      */
+    @Override
     public abstract int get(long instant);
 
     //-----------------------------------------------------------------------
@@ -90,6 +94,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale the locale to use for selecting a text symbol, null means default
      * @return the text value of the field
      */
+    @Override
     public String getAsText(long instant, Locale locale) {
         return getAsText(get(instant), locale);
     }
@@ -102,6 +107,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to query
      * @return the text value of the field
      */
+    @Override
     public final String getAsText(long instant) {
         return getAsText(instant, null);
     }
@@ -117,6 +123,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale  the locale to use for selecting a text symbol, null for default
      * @return the text value of the field
      */
+    @Override
     public String getAsText(ReadablePartial partial, int fieldValue, Locale locale) {
         return getAsText(fieldValue, locale);
     }
@@ -132,6 +139,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale  the locale to use for selecting a text symbol, null for default
      * @return the text value of the field
      */
+    @Override
     public final String getAsText(ReadablePartial partial, Locale locale) {
         return getAsText(partial, partial.get(getType()), locale);
     }
@@ -149,6 +157,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale the locale to use for selecting a text symbol, null for default
      * @return the text value of the field
      */
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         return Integer.toString(fieldValue);
     }
@@ -164,6 +173,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale the locale to use for selecting a text symbol, null means default
      * @return the text value of the field
      */
+    @Override
     public String getAsShortText(long instant, Locale locale) {
         return getAsShortText(get(instant), locale);
     }
@@ -176,6 +186,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to query
      * @return the text value of the field
      */
+    @Override
     public final String getAsShortText(long instant) {
         return getAsShortText(instant, null);
     }
@@ -191,6 +202,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale  the locale to use for selecting a text symbol, null for default
      * @return the text value of the field
      */
+    @Override
     public String getAsShortText(ReadablePartial partial, int fieldValue, Locale locale) {
         return getAsShortText(fieldValue, locale);
     }
@@ -206,6 +218,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale  the locale to use for selecting a text symbol, null for default
      * @return the text value of the field
      */
+    @Override
     public final String getAsShortText(ReadablePartial partial, Locale locale) {
         return getAsShortText(partial, partial.get(getType()), locale);
     }
@@ -223,6 +236,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale the locale to use for selecting a text symbol, null for default
      * @return the text value of the field
      */
+    @Override
     public String getAsShortText(int fieldValue, Locale locale) {
         return getAsText(fieldValue, locale);
     }
@@ -249,6 +263,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param value  the value to add, in the units of the field
      * @return the updated milliseconds
      */
+    @Override
     public long add(long instant, int value) {
         return getDurationField().add(instant, value);
     }
@@ -263,6 +278,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @throws IllegalArgumentException if value is too large
      * @see #add(long,int)
      */
+    @Override
     public long add(long instant, long value) {
         return getDurationField().add(instant, value);
     }
@@ -294,6 +310,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the passed in values
      * @throws IllegalArgumentException if the value is invalid or the maximum instant is reached
      */
+    @Override
     public int[] add(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         if (valueToAdd == 0) {
             return values;
@@ -375,6 +392,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the passed in values
      * @throws IllegalArgumentException if the value is invalid or the maximum instant is reached
      */
+    @Override
     public int[] addWrapPartial(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         if (valueToAdd == 0) {
             return values;
@@ -457,6 +475,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param value  the value to add, in the units of the field
      * @return the updated milliseconds
      */
+    @Override
     public long addWrapField(long instant, int value) {
         int current = get(instant);
         int wrapped = FieldUtils.getWrappedValue
@@ -491,6 +510,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the passed in values
      * @throws IllegalArgumentException if the value is invalid
      */
+    @Override
     public int[] addWrapField(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         int current = values[fieldIndex];
         int wrapped = FieldUtils.getWrappedValue
@@ -518,6 +538,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * subtract off the minuend
      * @return the difference in the units of this field
      */
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getDurationField().getDifference(minuendInstant, subtrahendInstant);
     }
@@ -541,6 +562,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * subtract off the minuend
      * @return the difference in the units of this field
      */
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getDurationField().getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
@@ -561,6 +583,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the updated milliseconds
      * @throws IllegalArgumentException if the value is invalid
      */
+    @Override
     public abstract long set(long instant, int value);
 
     /**
@@ -581,6 +604,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the updated values
      * @throws IllegalArgumentException if the value is invalid
      */
+    @Override
     public int[] set(ReadablePartial partial, int fieldIndex, int[] values, int newValue) {
         FieldUtils.verifyValueBounds(this, newValue, getMinimumValue(partial, values), getMaximumValue(partial, values));
         values[fieldIndex] = newValue;
@@ -614,6 +638,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the updated milliseconds
      * @throws IllegalArgumentException if the text value is invalid
      */
+    @Override
     public long set(long instant, String text, Locale locale) {
         int value = convertText(text, locale);
         return set(instant, value);
@@ -631,6 +656,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the updated milliseconds
      * @throws IllegalArgumentException if the text value is invalid
      */
+    @Override
     public final long set(long instant, String text) {
         return set(instant, text, null);
     }
@@ -650,6 +676,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the passed in values
      * @throws IllegalArgumentException if the text value is invalid
      */
+    @Override
     public int[] set(ReadablePartial instant, int fieldIndex, int[] values, String text, Locale locale) {
         int value = convertText(text, locale);
         return set(instant, fieldIndex, values, value);
@@ -680,6 +707,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the duration of this field, or UnsupportedDurationField if field
      * has no duration
      */
+    @Override
     public abstract DurationField getDurationField();
 
     /**
@@ -688,6 +716,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      *
      * @return the range duration of this field, or null if field has no range
      */
+    @Override
     public abstract DurationField getRangeDurationField();
 
     /**
@@ -700,6 +729,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * 
      * @return true if the field is 'leap'
      */
+    @Override
     public boolean isLeap(long instant) {
         return false;
     }
@@ -712,6 +742,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * <p>
      * This implementation returns zero.
      */
+    @Override
     public int getLeapAmount(long instant) {
         return 0;
     }
@@ -722,6 +753,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * <p>
      * This implementation returns null.
      */
+    @Override
     public DurationField getLeapDurationField() {
         return null;
     }
@@ -732,6 +764,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the minimum valid value for this field, in the units of the
      * field
      */
+    @Override
     public abstract int getMinimumValue();
 
     /**
@@ -742,6 +775,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to query
      * @return the minimum value for this field, in the units of the field
      */
+    @Override
     public int getMinimumValue(long instant) {
         return getMinimumValue();
     }
@@ -754,6 +788,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the partial instant to query
      * @return the minimum value for this field, in the units of the field
      */
+    @Override
     public int getMinimumValue(ReadablePartial instant) {
         return getMinimumValue();
     }
@@ -768,6 +803,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param values  the values to use
      * @return the minimum value for this field, in the units of the field
      */
+    @Override
     public int getMinimumValue(ReadablePartial instant, int[] values) {
         return getMinimumValue(instant);
     }
@@ -778,6 +814,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @return the maximum valid value for this field, in the units of the
      * field
      */
+    @Override
     public abstract int getMaximumValue();
 
     /**
@@ -788,6 +825,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to query
      * @return the maximum value for this field, in the units of the field
      */
+    @Override
     public int getMaximumValue(long instant) {
         return getMaximumValue();
     }
@@ -800,6 +838,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the partial instant to query
      * @return the maximum value for this field, in the units of the field
      */
+    @Override
     public int getMaximumValue(ReadablePartial instant) {
         return getMaximumValue();
     }
@@ -814,6 +853,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param values  the values to use
      * @return the maximum value for this field, in the units of the field
      */
+    @Override
     public int getMaximumValue(ReadablePartial instant, int[] values) {
         return getMaximumValue(instant);
     }
@@ -825,6 +865,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale  the locale to use for selecting a text symbol
      * @return the maximum text length
      */
+    @Override
     public int getMaximumTextLength(Locale locale) {
         int max = getMaximumValue();
         if (max >= 0) {
@@ -846,6 +887,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param locale  the locale to use for selecting a text symbol
      * @return the maximum short text length
      */
+    @Override
     public int getMaximumShortTextLength(Locale locale) {
         return getMaximumTextLength(locale);
     }
@@ -864,6 +906,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to round
      * @return rounded milliseconds
      */
+    @Override
     public abstract long roundFloor(long instant);
 
     /**
@@ -882,6 +925,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to round
      * @return rounded milliseconds
      */
+    @Override
     public long roundCeiling(long instant) {
         long newInstant = roundFloor(instant);
         if (newInstant != instant) {
@@ -899,6 +943,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to round
      * @return rounded milliseconds
      */
+    @Override
     public long roundHalfFloor(long instant) {
         long floor = roundFloor(instant);
         long ceiling = roundCeiling(instant);
@@ -923,6 +968,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to round
      * @return rounded milliseconds
      */
+    @Override
     public long roundHalfCeiling(long instant) {
         long floor = roundFloor(instant);
         long ceiling = roundCeiling(instant);
@@ -951,6 +997,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to round
      * @return rounded milliseconds
      */
+    @Override
     public long roundHalfEven(long instant) {
         long floor = roundFloor(instant);
         long ceiling = roundCeiling(instant);
@@ -990,6 +1037,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * remainder
      * @return remainder duration, in milliseconds
      */
+    @Override
     public long remainder(long instant) {
         return instant - roundFloor(instant);
     }
@@ -999,6 +1047,7 @@ public abstract class BaseDateTimeField extends DateTimeField {
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return "DateTimeField[" + getName() + ']';
     }
diff --git a/src/main/java/org/joda/time/field/BaseDurationField.java b/src/main/java/org/joda/time/field/BaseDurationField.java
index 98d6c424..b43a0624 100644
--- a/src/main/java/org/joda/time/field/BaseDurationField.java
+++ b/src/main/java/org/joda/time/field/BaseDurationField.java
@@ -51,10 +51,12 @@ public abstract class BaseDurationField extends DurationField implements Seriali
         iType = type;
     }
 
+    @Override
     public final DurationFieldType getType() {
         return iType;
     }
 
+    @Override
     public final String getName() {
         return iType.getName();
     }
@@ -62,6 +64,7 @@ public abstract class BaseDurationField extends DurationField implements Seriali
     /**
      * @return true always
      */
+    @Override
     public final boolean isSupported() {
         return true;
     }
@@ -75,6 +78,7 @@ public abstract class BaseDurationField extends DurationField implements Seriali
      * @return the value of the field, in the units of the field, which may be
      * negative
      */
+    @Override
     public int getValue(long duration) {
         return FieldUtils.safeToInt(getValueAsLong(duration));
     }
@@ -87,6 +91,7 @@ public abstract class BaseDurationField extends DurationField implements Seriali
      * @return the value of the field, in the units of the field, which may be
      * negative
      */
+    @Override
     public long getValueAsLong(long duration) {
         return duration / getUnitMillis();
     }
@@ -107,6 +112,7 @@ public abstract class BaseDurationField extends DurationField implements Seriali
      * @return the value of the field, in the units of the field, which may be
      * negative
      */
+    @Override
     public int getValue(long duration, long instant) {
         return FieldUtils.safeToInt(getValueAsLong(duration, instant));
     }
@@ -119,6 +125,7 @@ public abstract class BaseDurationField extends DurationField implements Seriali
      * @return the milliseconds that the field represents, which may be
      * negative
      */
+    @Override
     public long getMillis(int value) {
         return value * getUnitMillis();  // safe
     }
@@ -131,12 +138,14 @@ public abstract class BaseDurationField extends DurationField implements Seriali
      * @return the milliseconds that the field represents, which may be
      * negative
      */
+    @Override
     public long getMillis(long value) {
         return FieldUtils.safeMultiply(value, getUnitMillis());
     }
 
     // Calculation API
     //------------------------------------------------------------------------
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return FieldUtils.safeToInt(getDifferenceAsLong(minuendInstant, subtrahendInstant));
     }
@@ -161,6 +170,7 @@ public abstract class BaseDurationField extends DurationField implements Seriali
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return "DurationField[" + getName() + ']';
     }
diff --git a/src/main/java/org/joda/time/field/DecoratedDateTimeField.java b/src/main/java/org/joda/time/field/DecoratedDateTimeField.java
index dc16782f..a7291408 100644
--- a/src/main/java/org/joda/time/field/DecoratedDateTimeField.java
+++ b/src/main/java/org/joda/time/field/DecoratedDateTimeField.java
@@ -71,34 +71,42 @@ public abstract class DecoratedDateTimeField extends BaseDateTimeField {
         return iField;
     }
 
+    @Override
     public boolean isLenient() {
         return iField.isLenient();
     }
 
+    @Override
     public int get(long instant) {
         return iField.get(instant);
     }
 
+    @Override
     public long set(long instant, int value) {
         return iField.set(instant, value);
     }
 
+    @Override
     public DurationField getDurationField() {
         return iField.getDurationField();
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iField.getRangeDurationField();
     }
 
+    @Override
     public int getMinimumValue() {
         return iField.getMinimumValue();
     }
 
+    @Override
     public int getMaximumValue() {
         return iField.getMaximumValue();
     }
 
+    @Override
     public long roundFloor(long instant) {
         return iField.roundFloor(instant);
     }
diff --git a/src/main/java/org/joda/time/field/DecoratedDurationField.java b/src/main/java/org/joda/time/field/DecoratedDurationField.java
index 1b7eb426..8f549f56 100644
--- a/src/main/java/org/joda/time/field/DecoratedDurationField.java
+++ b/src/main/java/org/joda/time/field/DecoratedDurationField.java
@@ -69,34 +69,42 @@ public class DecoratedDurationField extends BaseDurationField {
         return iField;
     }
 
+    @Override
     public boolean isPrecise() {
         return iField.isPrecise();
     }
 
+    @Override
     public long getValueAsLong(long duration, long instant) {
         return iField.getValueAsLong(duration, instant);
     }
 
+    @Override
     public long getMillis(int value, long instant) {
         return iField.getMillis(value, instant);
     }
 
+    @Override
     public long getMillis(long value, long instant) {
         return iField.getMillis(value, instant);
     }
 
+    @Override
     public long add(long instant, int value) {
         return iField.add(instant, value);
     }
 
+    @Override
     public long add(long instant, long value) {
         return iField.add(instant, value);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return iField.getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getUnitMillis() {
         return iField.getUnitMillis();
     }
diff --git a/src/main/java/org/joda/time/field/DelegatedDateTimeField.java b/src/main/java/org/joda/time/field/DelegatedDateTimeField.java
index a5b70607..d07278fd 100644
--- a/src/main/java/org/joda/time/field/DelegatedDateTimeField.java
+++ b/src/main/java/org/joda/time/field/DelegatedDateTimeField.java
@@ -90,122 +90,152 @@ public class DelegatedDateTimeField extends DateTimeField implements Serializabl
         return iField;
     }
 
+    @Override
     public DateTimeFieldType getType() {
         return iType;
     }
 
+    @Override
     public String getName() {
         return iType.getName();
     }
 
+    @Override
     public boolean isSupported() {
         return iField.isSupported();
     }
 
+    @Override
     public boolean isLenient() {
         return iField.isLenient();
     }
 
+    @Override
     public int get(long instant) {
         return iField.get(instant);
     }
 
+    @Override
     public String getAsText(long instant, Locale locale) {
         return iField.getAsText(instant, locale);
     }
 
+    @Override
     public String getAsText(long instant) {
         return iField.getAsText(instant);
     }
 
+    @Override
     public String getAsText(ReadablePartial partial, int fieldValue, Locale locale) {
         return iField.getAsText(partial, fieldValue, locale);
     }
 
+    @Override
     public String getAsText(ReadablePartial partial, Locale locale) {
         return iField.getAsText(partial, locale);
     }
 
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         return iField.getAsText(fieldValue, locale);
     }
 
+    @Override
     public String getAsShortText(long instant, Locale locale) {
         return iField.getAsShortText(instant, locale);
     }
 
+    @Override
     public String getAsShortText(long instant) {
         return iField.getAsShortText(instant);
     }
 
+    @Override
     public String getAsShortText(ReadablePartial partial, int fieldValue, Locale locale) {
         return iField.getAsShortText(partial, fieldValue, locale);
     }
 
+    @Override
     public String getAsShortText(ReadablePartial partial, Locale locale) {
         return iField.getAsShortText(partial, locale);
     }
 
+    @Override
     public String getAsShortText(int fieldValue, Locale locale) {
         return iField.getAsShortText(fieldValue, locale);
     }
 
+    @Override
     public long add(long instant, int value) {
         return iField.add(instant, value);
     }
 
+    @Override
     public long add(long instant, long value) {
         return iField.add(instant, value);
     }
 
+    @Override
     public int[] add(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         return iField.add(instant, fieldIndex, values, valueToAdd);
     }
 
+    @Override
     public int[] addWrapPartial(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         return iField.addWrapPartial(instant, fieldIndex, values, valueToAdd);
     }
 
+    @Override
     public long addWrapField(long instant, int value) {
         return iField.addWrapField(instant, value);
     }
 
+    @Override
     public int[] addWrapField(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         return iField.addWrapField(instant, fieldIndex, values, valueToAdd);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return iField.getDifference(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return iField.getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long set(long instant, int value) {
         return iField.set(instant, value);
     }
 
+    @Override
     public long set(long instant, String text, Locale locale) {
         return iField.set(instant, text, locale);
     }
 
+    @Override
     public long set(long instant, String text) {
         return iField.set(instant, text);
     }
 
+    @Override
     public int[] set(ReadablePartial instant, int fieldIndex, int[] values, int newValue) {
         return iField.set(instant, fieldIndex, values, newValue);
     }
 
+    @Override
     public int[] set(ReadablePartial instant, int fieldIndex, int[] values, String text, Locale locale) {
         return iField.set(instant, fieldIndex, values, text, locale);
     }
 
+    @Override
     public DurationField getDurationField() {
         return iField.getDurationField();
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         if (iRangeDurationField != null) {
             return iRangeDurationField;
@@ -213,82 +243,102 @@ public class DelegatedDateTimeField extends DateTimeField implements Serializabl
         return iField.getRangeDurationField();
     }
 
+    @Override
     public boolean isLeap(long instant) {
         return iField.isLeap(instant);
     }
 
+    @Override
     public int getLeapAmount(long instant) {
         return iField.getLeapAmount(instant);
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return iField.getLeapDurationField();
     }
 
+    @Override
     public int getMinimumValue() {
         return iField.getMinimumValue();
     }
 
+    @Override
     public int getMinimumValue(long instant) {
         return iField.getMinimumValue(instant);
     }
 
+    @Override
     public int getMinimumValue(ReadablePartial instant) {
         return iField.getMinimumValue(instant);
     }
 
+    @Override
     public int getMinimumValue(ReadablePartial instant, int[] values) {
         return iField.getMinimumValue(instant, values);
     }
 
+    @Override
     public int getMaximumValue() {
         return iField.getMaximumValue();
     }
 
+    @Override
     public int getMaximumValue(long instant) {
         return iField.getMaximumValue(instant);
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial instant) {
         return iField.getMaximumValue(instant);
     }
 
+    @Override
     public int getMaximumValue(ReadablePartial instant, int[] values) {
         return iField.getMaximumValue(instant, values);
     }
 
+    @Override
     public int getMaximumTextLength(Locale locale) {
         return iField.getMaximumTextLength(locale);
     }
 
+    @Override
     public int getMaximumShortTextLength(Locale locale) {
         return iField.getMaximumShortTextLength(locale);
     }
 
+    @Override
     public long roundFloor(long instant) {
         return iField.roundFloor(instant);
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return iField.roundCeiling(instant);
     }
 
+    @Override
     public long roundHalfFloor(long instant) {
         return iField.roundHalfFloor(instant);
     }
 
+    @Override
     public long roundHalfCeiling(long instant) {
         return iField.roundHalfCeiling(instant);
     }
 
+    @Override
     public long roundHalfEven(long instant) {
         return iField.roundHalfEven(instant);
     }
 
+    @Override
     public long remainder(long instant) {
         return iField.remainder(instant);
     }
 
+    @Override
     public String toString() {
         return ("DateTimeField[" + getName() + ']');
     }
diff --git a/src/main/java/org/joda/time/field/DelegatedDurationField.java b/src/main/java/org/joda/time/field/DelegatedDurationField.java
index d0b8c544..49d0b791 100644
--- a/src/main/java/org/joda/time/field/DelegatedDurationField.java
+++ b/src/main/java/org/joda/time/field/DelegatedDurationField.java
@@ -75,10 +75,12 @@ public class DelegatedDurationField extends DurationField implements Serializabl
         return iField;
     }
 
+    @Override
     public DurationFieldType getType() {
         return iType;
     }
 
+    @Override
     public String getName() {
         return iType.getName();
     }
@@ -86,62 +88,77 @@ public class DelegatedDurationField extends DurationField implements Serializabl
     /**
      * Returns true if this field is supported.
      */
+    @Override
     public boolean isSupported() {
         return iField.isSupported();
     }
 
+    @Override
     public boolean isPrecise() {
         return iField.isPrecise();
     }
     
+    @Override
     public int getValue(long duration) {
         return iField.getValue(duration);
     }
 
+    @Override
     public long getValueAsLong(long duration) {
         return iField.getValueAsLong(duration);
     }
 
+    @Override
     public int getValue(long duration, long instant) {
         return iField.getValue(duration, instant);
     }
 
+    @Override
     public long getValueAsLong(long duration, long instant) {
         return iField.getValueAsLong(duration, instant);
     }
 
+    @Override
     public long getMillis(int value) {
         return iField.getMillis(value);
     }
 
+    @Override
     public long getMillis(long value) {
         return iField.getMillis(value);
     }
 
+    @Override
     public long getMillis(int value, long instant) {
         return iField.getMillis(value, instant);
     }
 
+    @Override
     public long getMillis(long value, long instant) {
         return iField.getMillis(value, instant);
     }
 
+    @Override
     public long add(long instant, int value) {
         return iField.add(instant, value);
     }
 
+    @Override
     public long add(long instant, long value) {
         return iField.add(instant, value);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return iField.getDifference(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return iField.getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getUnitMillis() {
         return iField.getUnitMillis();
     }
@@ -150,6 +167,7 @@ public class DelegatedDurationField extends DurationField implements Serializabl
         return iField.compareTo(durationField);
     }
 
+    @Override
     public boolean equals(Object obj) {
         if (obj instanceof DelegatedDurationField) {
             return iField.equals(((DelegatedDurationField) obj).iField);
@@ -157,10 +175,12 @@ public class DelegatedDurationField extends DurationField implements Serializabl
         return false;
     }
 
+    @Override
     public int hashCode() {
         return iField.hashCode() ^ iType.hashCode();
     }
 
+    @Override
     public String toString() {
         return (iType == null) ? iField.toString() :
             ("DurationField[" + iType + ']');
diff --git a/src/main/java/org/joda/time/field/DividedDateTimeField.java b/src/main/java/org/joda/time/field/DividedDateTimeField.java
index 9a30dc90..19fe13af 100644
--- a/src/main/java/org/joda/time/field/DividedDateTimeField.java
+++ b/src/main/java/org/joda/time/field/DividedDateTimeField.java
@@ -137,6 +137,7 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * @param instant  the time instant in millis to query.
      * @return the amount of scaled units extracted from the input.
      */
+    @Override
     public int get(long instant) {
         int value = getWrappedField().get(instant);
         if (value >= 0) {
@@ -154,6 +155,7 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount of scaled units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long add(long instant, int amount) {
         return getWrappedField().add(instant, amount * iDivisor);
     }
@@ -166,6 +168,7 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount of scaled units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long add(long instant, long amount) {
         return getWrappedField().add(instant, amount * iDivisor);
     }
@@ -178,14 +181,17 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount of scaled units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long addWrapField(long instant, int amount) {
         return set(instant, FieldUtils.getWrappedValue(get(instant), amount, iMin, iMax));
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifference(minuendInstant, subtrahendInstant) / iDivisor;
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifferenceAsLong(minuendInstant, subtrahendInstant) / iDivisor;
     }
@@ -198,6 +204,7 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException if value is too large or too small.
      */
+    @Override
     public long set(long instant, int value) {
         FieldUtils.verifyValueBounds(this, value, iMin, iMax);
         int remainder = getRemainder(getWrappedField().get(instant));
@@ -207,6 +214,7 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
     /**
      * Returns a scaled version of the wrapped field's unit duration field.
      */
+    @Override
     public DurationField getDurationField() {
         return iDurationField;
     }
@@ -216,6 +224,7 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value
      */
+    @Override
     public int getMinimumValue() {
         return iMin;
     }
@@ -225,15 +234,18 @@ public class DividedDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue() {
         return iMax;
     }
 
+    @Override
     public long roundFloor(long instant) {
         DateTimeField field = getWrappedField();
         return field.roundFloor(field.set(instant, get(instant) * iDivisor));
     }
 
+    @Override
     public long remainder(long instant) {
         return set(instant, get(getWrappedField().remainder(instant)));
     }
diff --git a/src/main/java/org/joda/time/field/ImpreciseDateTimeField.java b/src/main/java/org/joda/time/field/ImpreciseDateTimeField.java
index b75395de..d8be1a84 100644
--- a/src/main/java/org/joda/time/field/ImpreciseDateTimeField.java
+++ b/src/main/java/org/joda/time/field/ImpreciseDateTimeField.java
@@ -58,12 +58,16 @@ public abstract class ImpreciseDateTimeField extends BaseDateTimeField {
         iDurationField = new LinkedDurationField(type.getDurationType());
     }
 
+    @Override
     public abstract int get(long instant);
 
+    @Override
     public abstract long set(long instant, int value);
 
+    @Override
     public abstract long add(long instant, int value);
 
+    @Override
     public abstract long add(long instant, long value);
 
     /**
@@ -88,6 +92,7 @@ public abstract class ImpreciseDateTimeField extends BaseDateTimeField {
      * subtract off the minuend
      * @return the difference in the units of this field
      */
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return FieldUtils.safeToInt(getDifferenceAsLong(minuendInstant, subtrahendInstant));
     }
@@ -115,6 +120,7 @@ public abstract class ImpreciseDateTimeField extends BaseDateTimeField {
      * subtract off the minuend
      * @return the difference in the units of this field
      */
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         if (minuendInstant < subtrahendInstant) {
             return -getDifferenceAsLong(subtrahendInstant, minuendInstant);
@@ -134,12 +140,15 @@ public abstract class ImpreciseDateTimeField extends BaseDateTimeField {
         return difference;
     }
 
+    @Override
     public final DurationField getDurationField() {
         return iDurationField;
     }
 
+    @Override
     public abstract DurationField getRangeDurationField();
 
+    @Override
     public abstract long roundFloor(long instant);
 
     protected final long getDurationUnitMillis() {
@@ -153,45 +162,55 @@ public abstract class ImpreciseDateTimeField extends BaseDateTimeField {
             super(type);
         }
     
+        @Override
         public boolean isPrecise() {
             return false;
         }
     
+        @Override
         public long getUnitMillis() {
             return iUnitMillis;
         }
 
+        @Override
         public int getValue(long duration, long instant) {
             return ImpreciseDateTimeField.this
                 .getDifference(instant + duration, instant);
         }
 
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return ImpreciseDateTimeField.this
                 .getDifferenceAsLong(instant + duration, instant);
         }
         
+        @Override
         public long getMillis(int value, long instant) {
             return ImpreciseDateTimeField.this.add(instant, value) - instant;
         }
 
+        @Override
         public long getMillis(long value, long instant) {
             return ImpreciseDateTimeField.this.add(instant, value) - instant;
         }
 
+        @Override
         public long add(long instant, int value) {
             return ImpreciseDateTimeField.this.add(instant, value);
         }
         
+        @Override
         public long add(long instant, long value) {
             return ImpreciseDateTimeField.this.add(instant, value);
         }
         
+        @Override
         public int getDifference(long minuendInstant, long subtrahendInstant) {
             return ImpreciseDateTimeField.this
                 .getDifference(minuendInstant, subtrahendInstant);
         }
         
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return ImpreciseDateTimeField.this
                 .getDifferenceAsLong(minuendInstant, subtrahendInstant);
diff --git a/src/main/java/org/joda/time/field/LenientDateTimeField.java b/src/main/java/org/joda/time/field/LenientDateTimeField.java
index 6cf4c718..6c93f55c 100644
--- a/src/main/java/org/joda/time/field/LenientDateTimeField.java
+++ b/src/main/java/org/joda/time/field/LenientDateTimeField.java
@@ -58,6 +58,7 @@ public class LenientDateTimeField extends DelegatedDateTimeField {
         iBase = base;
     }
 
+    @Override
     public final boolean isLenient() {
         return true;
     }
@@ -66,6 +67,7 @@ public class LenientDateTimeField extends DelegatedDateTimeField {
      * Set values which may be out of bounds by adding the difference between
      * the new value and the current value.
      */
+    @Override
     public long set(long instant, int value) {
         // lenient needs to handle time zone chronologies
         // so we do the calculation using local milliseconds
diff --git a/src/main/java/org/joda/time/field/MillisDurationField.java b/src/main/java/org/joda/time/field/MillisDurationField.java
index f77fb4b9..72860bf3 100644
--- a/src/main/java/org/joda/time/field/MillisDurationField.java
+++ b/src/main/java/org/joda/time/field/MillisDurationField.java
@@ -45,10 +45,12 @@ public final class MillisDurationField extends DurationField implements Serializ
     }
     
     //------------------------------------------------------------------------
+    @Override
     public DurationFieldType getType() {
         return DurationFieldType.millis();
     }
 
+    @Override
     public String getName() {
         return "millis";
     }
@@ -58,6 +60,7 @@ public final class MillisDurationField extends DurationField implements Serializ
      * 
      * @return true always
      */
+    @Override
     public boolean isSupported() {
         return true;
     }
@@ -67,6 +70,7 @@ public final class MillisDurationField extends DurationField implements Serializ
      * 
      * @return true always
      */
+    @Override
     public final boolean isPrecise() {
         return true;
     }
@@ -76,55 +80,68 @@ public final class MillisDurationField extends DurationField implements Serializ
      *
      * @return one always
      */
+    @Override
     public final long getUnitMillis() {
         return 1;
     }
 
     //------------------------------------------------------------------------
+    @Override
     public int getValue(long duration) {
         return FieldUtils.safeToInt(duration);
     }
 
+    @Override
     public long getValueAsLong(long duration) {
         return duration;
     }
 
+    @Override
     public int getValue(long duration, long instant) {
         return FieldUtils.safeToInt(duration);
     }
 
+    @Override
     public long getValueAsLong(long duration, long instant) {
         return duration;
     }
 
+    @Override
     public long getMillis(int value) {
         return value;
     }
 
+    @Override
     public long getMillis(long value) {
         return value;
     }
 
+    @Override
     public long getMillis(int value, long instant) {
         return value;
     }
 
+    @Override
     public long getMillis(long value, long instant) {
         return value;
     }
 
+    @Override
     public long add(long instant, int value) {
         return FieldUtils.safeAdd(instant, value);
     }
 
+    @Override
     public long add(long instant, long value) {
         return FieldUtils.safeAdd(instant, value);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return FieldUtils.safeToInt(FieldUtils.safeSubtract(minuendInstant, subtrahendInstant));
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return FieldUtils.safeSubtract(minuendInstant, subtrahendInstant);
     }
@@ -144,6 +161,7 @@ public final class MillisDurationField extends DurationField implements Serializ
         }
     }
 
+    @Override
     public boolean equals(Object obj) {
         if (obj instanceof MillisDurationField) {
             return getUnitMillis() == ((MillisDurationField) obj).getUnitMillis();
@@ -151,6 +169,7 @@ public final class MillisDurationField extends DurationField implements Serializ
         return false;
     }
 
+    @Override
     public int hashCode() {
         return (int) getUnitMillis();
     }
@@ -160,6 +179,7 @@ public final class MillisDurationField extends DurationField implements Serializ
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return "DurationField[millis]";
     }
diff --git a/src/main/java/org/joda/time/field/OffsetDateTimeField.java b/src/main/java/org/joda/time/field/OffsetDateTimeField.java
index b317eb29..9711645c 100644
--- a/src/main/java/org/joda/time/field/OffsetDateTimeField.java
+++ b/src/main/java/org/joda/time/field/OffsetDateTimeField.java
@@ -97,6 +97,7 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * @param instant  the time instant in millis to query.
      * @return the amount of units extracted from the input.
      */
+    @Override
     public int get(long instant) {
         return super.get(instant) + iOffset;
     }
@@ -109,6 +110,7 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount of units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long add(long instant, int amount) {
         instant = super.add(instant, amount);
         FieldUtils.verifyValueBounds(this, get(instant), iMin, iMax);
@@ -123,6 +125,7 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount of units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long add(long instant, long amount) {
         instant = super.add(instant, amount);
         FieldUtils.verifyValueBounds(this, get(instant), iMin, iMax);
@@ -137,6 +140,7 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount of units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long addWrapField(long instant, int amount) {
         return set(instant, FieldUtils.getWrappedValue(get(instant), amount, iMin, iMax));
     }
@@ -149,19 +153,23 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException if value is too large or too small.
      */
+    @Override
     public long set(long instant, int value) {
         FieldUtils.verifyValueBounds(this, value, iMin, iMax);
         return super.set(instant, value - iOffset);
     }
 
+    @Override
     public boolean isLeap(long instant) {
         return getWrappedField().isLeap(instant);
     }
 
+    @Override
     public int getLeapAmount(long instant) {
         return getWrappedField().getLeapAmount(instant);
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return getWrappedField().getLeapDurationField();
     }
@@ -171,6 +179,7 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value
      */
+    @Override
     public int getMinimumValue() {
         return iMin;
     }
@@ -180,30 +189,37 @@ public class OffsetDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue() {
         return iMax;
     }
     
+    @Override
     public long roundFloor(long instant) {
         return getWrappedField().roundFloor(instant);
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return getWrappedField().roundCeiling(instant);
     }
 
+    @Override
     public long roundHalfFloor(long instant) {
         return getWrappedField().roundHalfFloor(instant);
     }
 
+    @Override
     public long roundHalfCeiling(long instant) {
         return getWrappedField().roundHalfCeiling(instant);
     }
 
+    @Override
     public long roundHalfEven(long instant) {
         return getWrappedField().roundHalfEven(instant);
     }
 
+    @Override
     public long remainder(long instant) {
         return getWrappedField().remainder(instant);
     }
diff --git a/src/main/java/org/joda/time/field/PreciseDateTimeField.java b/src/main/java/org/joda/time/field/PreciseDateTimeField.java
index 3db90c3f..7f2a14d2 100644
--- a/src/main/java/org/joda/time/field/PreciseDateTimeField.java
+++ b/src/main/java/org/joda/time/field/PreciseDateTimeField.java
@@ -76,6 +76,7 @@ public class PreciseDateTimeField extends PreciseDurationDateTimeField {
      * @param instant  the milliseconds from 1970-01-01T00:00:00Z to query
      * @return the amount of fractional units extracted from the input.
      */
+    @Override
     public int get(long instant) {
         if (instant >= 0) {
             return (int) ((instant / getUnitMillis()) % iRange);
@@ -92,6 +93,7 @@ public class PreciseDateTimeField extends PreciseDurationDateTimeField {
      * @param amount  the amount of units to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long addWrapField(long instant, int amount) {
         int thisValue = get(instant);
         int wrappedValue = FieldUtils.getWrappedValue
@@ -108,6 +110,7 @@ public class PreciseDateTimeField extends PreciseDurationDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException if value is too large or too small.
      */
+    @Override
     public long set(long instant, int value) {
         FieldUtils.verifyValueBounds(this, value, getMinimumValue(), getMaximumValue());
         return instant + (value - get(instant)) * iUnitMillis;
@@ -119,6 +122,7 @@ public class PreciseDateTimeField extends PreciseDurationDateTimeField {
      *
      * @return the range duration of this field, or null if field has no range
      */
+    @Override
     public DurationField getRangeDurationField() {
         return iRangeField;
     }
@@ -128,6 +132,7 @@ public class PreciseDateTimeField extends PreciseDurationDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue() {
         return iRange - 1;
     }
diff --git a/src/main/java/org/joda/time/field/PreciseDurationDateTimeField.java b/src/main/java/org/joda/time/field/PreciseDurationDateTimeField.java
index ee638596..f1654e8a 100644
--- a/src/main/java/org/joda/time/field/PreciseDurationDateTimeField.java
+++ b/src/main/java/org/joda/time/field/PreciseDurationDateTimeField.java
@@ -63,6 +63,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
     /**
      * Returns false by default.
      */
+    @Override
     public boolean isLenient() {
         return false;
     }
@@ -75,6 +76,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException if value is too large or too small.
      */
+    @Override
     public long set(long instant, int value) {
         FieldUtils.verifyValueBounds(this, value, getMinimumValue(),
                                      getMaximumValueForSet(instant, value));
@@ -89,6 +91,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
      * return super.roundFloor(instant + ALIGNMENT_MILLIS) - ALIGNMENT_MILLIS;
      * </pre>
      */
+    @Override
     public long roundFloor(long instant) {
         if (instant >= 0) {
             return instant - instant % iUnitMillis;
@@ -106,6 +109,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
      * return super.roundCeiling(instant + ALIGNMENT_MILLIS) - ALIGNMENT_MILLIS;
      * </pre>
      */
+    @Override
     public long roundCeiling(long instant) {
         if (instant > 0) {
             instant -= 1;
@@ -123,6 +127,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
      * return super.remainder(instant + ALIGNMENT_MILLIS);
      * </pre>
      */
+    @Override
     public long remainder(long instant) {
         if (instant >= 0) {
             return instant % iUnitMillis;
@@ -138,6 +143,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
      * @return the duration of this field, or UnsupportedDurationField if field
      * has no duration
      */
+    @Override
     public DurationField getDurationField() {
         return iUnitField;
     }
@@ -147,6 +153,7 @@ public abstract class PreciseDurationDateTimeField extends BaseDateTimeField {
      * 
      * @return the minimum value
      */
+    @Override
     public int getMinimumValue() {
         return 0;
     }
diff --git a/src/main/java/org/joda/time/field/PreciseDurationField.java b/src/main/java/org/joda/time/field/PreciseDurationField.java
index dcd91fec..969ff325 100644
--- a/src/main/java/org/joda/time/field/PreciseDurationField.java
+++ b/src/main/java/org/joda/time/field/PreciseDurationField.java
@@ -50,6 +50,7 @@ public class PreciseDurationField extends BaseDurationField {
      * 
      * @return true always
      */
+    @Override
     public final boolean isPrecise() {
         return true;
     }
@@ -59,6 +60,7 @@ public class PreciseDurationField extends BaseDurationField {
      *
      * @return the unit size of this field, in milliseconds
      */
+    @Override
     public final long getUnitMillis() {
         return iUnitMillis;
     }
@@ -72,6 +74,7 @@ public class PreciseDurationField extends BaseDurationField {
      * @return the value of the field, in the units of the field, which may be
      * negative
      */
+    @Override
     public long getValueAsLong(long duration, long instant) {
         return duration / iUnitMillis;  // safe
     }
@@ -84,6 +87,7 @@ public class PreciseDurationField extends BaseDurationField {
      * @return the milliseconds that the field represents, which may be
      * negative
      */
+    @Override
     public long getMillis(int value, long instant) {
         return value * iUnitMillis;  // safe
     }
@@ -96,20 +100,24 @@ public class PreciseDurationField extends BaseDurationField {
      * @return the milliseconds that the field represents, which may be
      * negative
      */
+    @Override
     public long getMillis(long value, long instant) {
         return FieldUtils.safeMultiply(value, iUnitMillis);
     }
 
+    @Override
     public long add(long instant, int value) {
         long addition = value * iUnitMillis;  // safe
         return FieldUtils.safeAdd(instant, addition);
     }
 
+    @Override
     public long add(long instant, long value) {
         long addition = FieldUtils.safeMultiply(value, iUnitMillis);
         return FieldUtils.safeAdd(instant, addition);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         long difference = FieldUtils.safeSubtract(minuendInstant, subtrahendInstant);
         return difference / iUnitMillis;
@@ -123,6 +131,7 @@ public class PreciseDurationField extends BaseDurationField {
      * @param obj  the object to compare to
      * @return if equal
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -138,6 +147,7 @@ public class PreciseDurationField extends BaseDurationField {
      * 
      * @return a suitable hashcode
      */
+    @Override
     public int hashCode() {
         long millis = iUnitMillis;
         int hash = (int) (millis ^ (millis >>> 32));
diff --git a/src/main/java/org/joda/time/field/RemainderDateTimeField.java b/src/main/java/org/joda/time/field/RemainderDateTimeField.java
index 30a835af..d77bb61b 100644
--- a/src/main/java/org/joda/time/field/RemainderDateTimeField.java
+++ b/src/main/java/org/joda/time/field/RemainderDateTimeField.java
@@ -132,6 +132,7 @@ public class RemainderDateTimeField extends DecoratedDateTimeField {
      * @param instant  the time instant in millis to query.
      * @return the remainder extracted from the input.
      */
+    @Override
     public int get(long instant) {
         int value = getWrappedField().get(instant);
         if (value >= 0) {
@@ -150,6 +151,7 @@ public class RemainderDateTimeField extends DecoratedDateTimeField {
      * @param amount  the amount to add (can be negative).
      * @return the updated time instant.
      */
+    @Override
     public long addWrapField(long instant, int amount) {
         return set(instant, FieldUtils.getWrappedValue(get(instant), amount, 0, iDivisor - 1));
     }
@@ -162,6 +164,7 @@ public class RemainderDateTimeField extends DecoratedDateTimeField {
      * @return the updated time instant.
      * @throws IllegalArgumentException if value is too large or too small.
      */
+    @Override
     public long set(long instant, int value) {
         FieldUtils.verifyValueBounds(this, value, 0, iDivisor - 1);
         int divided = getDivided(getWrappedField().get(instant));
@@ -176,6 +179,7 @@ public class RemainderDateTimeField extends DecoratedDateTimeField {
     /**
      * Returns a scaled version of the wrapped field's unit duration field.
      */
+    @Override
     public DurationField getRangeDurationField() {
         return iRangeField;
     }
@@ -185,6 +189,7 @@ public class RemainderDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value of zero.
      */
+    @Override
     public int getMinimumValue() {
         return 0;
     }
@@ -195,30 +200,37 @@ public class RemainderDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue() {
         return iDivisor - 1;
     }
 
+    @Override
     public long roundFloor(long instant) {
         return getWrappedField().roundFloor(instant);
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return getWrappedField().roundCeiling(instant);
     }
 
+    @Override
     public long roundHalfFloor(long instant) {
         return getWrappedField().roundHalfFloor(instant);
     }
 
+    @Override
     public long roundHalfCeiling(long instant) {
         return getWrappedField().roundHalfCeiling(instant);
     }
 
+    @Override
     public long roundHalfEven(long instant) {
         return getWrappedField().roundHalfEven(instant);
     }
 
+    @Override
     public long remainder(long instant) {
         return getWrappedField().remainder(instant);
     }
diff --git a/src/main/java/org/joda/time/field/ScaledDurationField.java b/src/main/java/org/joda/time/field/ScaledDurationField.java
index b82fd6d2..1fb09a2d 100644
--- a/src/main/java/org/joda/time/field/ScaledDurationField.java
+++ b/src/main/java/org/joda/time/field/ScaledDurationField.java
@@ -51,60 +51,73 @@ public class ScaledDurationField extends DecoratedDurationField {
         iScalar = scalar;
     }
 
+    @Override
     public int getValue(long duration) {
         return getWrappedField().getValue(duration) / iScalar;
     }
 
+    @Override
     public long getValueAsLong(long duration) {
         return getWrappedField().getValueAsLong(duration) / iScalar;
     }
 
+    @Override
     public int getValue(long duration, long instant) {
         return getWrappedField().getValue(duration, instant) / iScalar;
     }
 
+    @Override
     public long getValueAsLong(long duration, long instant) {
         return getWrappedField().getValueAsLong(duration, instant) / iScalar;
     }
 
+    @Override
     public long getMillis(int value) {
         long scaled = ((long) value) * ((long) iScalar);
         return getWrappedField().getMillis(scaled);
     }
 
+    @Override
     public long getMillis(long value) {
         long scaled = FieldUtils.safeMultiply(value, iScalar);
         return getWrappedField().getMillis(scaled);
     }
 
+    @Override
     public long getMillis(int value, long instant) {
         long scaled = ((long) value) * ((long) iScalar);
         return getWrappedField().getMillis(scaled, instant);
     }
 
+    @Override
     public long getMillis(long value, long instant) {
         long scaled = FieldUtils.safeMultiply(value, iScalar);
         return getWrappedField().getMillis(scaled, instant);
     }
 
+    @Override
     public long add(long instant, int value) {
         long scaled = ((long) value) * ((long) iScalar);
         return getWrappedField().add(instant, scaled);
     }
 
+    @Override
     public long add(long instant, long value) {
         long scaled = FieldUtils.safeMultiply(value, iScalar);
         return getWrappedField().add(instant, scaled);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifference(minuendInstant, subtrahendInstant) / iScalar;
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifferenceAsLong(minuendInstant, subtrahendInstant) / iScalar;
     }
 
+    @Override
     public long getUnitMillis() {
         return getWrappedField().getUnitMillis() * iScalar;
     }
@@ -126,6 +139,7 @@ public class ScaledDurationField extends DecoratedDurationField {
      * @param obj  the object to compare to
      * @return if equal
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -143,6 +157,7 @@ public class ScaledDurationField extends DecoratedDurationField {
      * 
      * @return a suitable hashcode
      */
+    @Override
     public int hashCode() {
         long scalar = iScalar;
         int hash = (int) (scalar ^ (scalar >>> 32));
diff --git a/src/main/java/org/joda/time/field/SkipDateTimeField.java b/src/main/java/org/joda/time/field/SkipDateTimeField.java
index 1a2bd22d..58684053 100644
--- a/src/main/java/org/joda/time/field/SkipDateTimeField.java
+++ b/src/main/java/org/joda/time/field/SkipDateTimeField.java
@@ -76,6 +76,7 @@ public final class SkipDateTimeField extends DelegatedDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int get(long millis) {
         int value = super.get(millis);
         if (value <= iSkip) {
@@ -84,6 +85,7 @@ public final class SkipDateTimeField extends DelegatedDateTimeField {
         return value;
     }
 
+    @Override
     public long set(long millis, int value) {
         FieldUtils.verifyValueBounds(this, value, iMinValue, getMaximumValue());
         if (value <= iSkip) {
@@ -96,6 +98,7 @@ public final class SkipDateTimeField extends DelegatedDateTimeField {
         return super.set(millis, value);
     }
 
+    @Override
     public int getMinimumValue() {
         return iMinValue;
     }
diff --git a/src/main/java/org/joda/time/field/SkipUndoDateTimeField.java b/src/main/java/org/joda/time/field/SkipUndoDateTimeField.java
index 213497da..bc9c9c21 100644
--- a/src/main/java/org/joda/time/field/SkipUndoDateTimeField.java
+++ b/src/main/java/org/joda/time/field/SkipUndoDateTimeField.java
@@ -75,6 +75,7 @@ public final class SkipUndoDateTimeField extends DelegatedDateTimeField {
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public int get(long millis) {
         int value = super.get(millis);
         if (value < iSkip) {
@@ -83,6 +84,7 @@ public final class SkipUndoDateTimeField extends DelegatedDateTimeField {
         return value;
     }
 
+    @Override
     public long set(long millis, int value) {
         FieldUtils.verifyValueBounds(this, value, iMinValue, getMaximumValue());
         if (value <= iSkip) {
@@ -91,6 +93,7 @@ public final class SkipUndoDateTimeField extends DelegatedDateTimeField {
         return super.set(millis, value);
     }
 
+    @Override
     public int getMinimumValue() {
         return iMinValue;
     }
diff --git a/src/main/java/org/joda/time/field/StrictDateTimeField.java b/src/main/java/org/joda/time/field/StrictDateTimeField.java
index e969f8c5..88054c24 100644
--- a/src/main/java/org/joda/time/field/StrictDateTimeField.java
+++ b/src/main/java/org/joda/time/field/StrictDateTimeField.java
@@ -54,6 +54,7 @@ public class StrictDateTimeField extends DelegatedDateTimeField {
         super(field);
     }
 
+    @Override
     public final boolean isLenient() {
         return false;
     }
@@ -63,6 +64,7 @@ public class StrictDateTimeField extends DelegatedDateTimeField {
      *
      * @throws IllegalArgumentException if the value is invalid
      */
+    @Override
     public long set(long instant, int value) {
         FieldUtils.verifyValueBounds
             (this, value, getMinimumValue(instant), getMaximumValue(instant));
diff --git a/src/main/java/org/joda/time/field/UnsupportedDateTimeField.java b/src/main/java/org/joda/time/field/UnsupportedDateTimeField.java
index 897baf78..a8553cc8 100644
--- a/src/main/java/org/joda/time/field/UnsupportedDateTimeField.java
+++ b/src/main/java/org/joda/time/field/UnsupportedDateTimeField.java
@@ -91,10 +91,12 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
     // Design note: Simple accessors return a suitable value, but methods
     // intended to perform calculations throw an UnsupportedOperationException.
 
+    @Override
     public DateTimeFieldType getType() {
         return iType;
     }
 
+    @Override
     public String getName() {
         return iType.getName();
     }
@@ -104,6 +106,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @return false always
      */
+    @Override
     public boolean isSupported() {
         return false;
     }
@@ -113,6 +116,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @return false always
      */
+    @Override
     public boolean isLenient() {
         return false;
     }
@@ -122,6 +126,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int get(long instant) {
         throw unsupported();
     }
@@ -131,6 +136,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsText(long instant, Locale locale) {
         throw unsupported();
     }
@@ -140,6 +146,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsText(long instant) {
         throw unsupported();
     }
@@ -149,6 +156,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsText(ReadablePartial partial, int fieldValue, Locale locale) {
         throw unsupported();
     }
@@ -158,6 +166,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsText(ReadablePartial partial, Locale locale) {
         throw unsupported();
     }
@@ -167,6 +176,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsText(int fieldValue, Locale locale) {
         throw unsupported();
     }
@@ -176,6 +186,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsShortText(long instant, Locale locale) {
         throw unsupported();
     }
@@ -185,6 +196,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsShortText(long instant) {
         throw unsupported();
     }
@@ -194,6 +206,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsShortText(ReadablePartial partial, int fieldValue, Locale locale) {
         throw unsupported();
     }
@@ -203,6 +216,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsShortText(ReadablePartial partial, Locale locale) {
         throw unsupported();
     }
@@ -212,6 +226,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public String getAsShortText(int fieldValue, Locale locale) {
         throw unsupported();
     }
@@ -221,6 +236,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException if the duration is unsupported
      */
+    @Override
     public long add(long instant, int value) {
         return getDurationField().add(instant, value);
     }
@@ -230,6 +246,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException if the duration is unsupported
      */
+    @Override
     public long add(long instant, long value) {
         return getDurationField().add(instant, value);
     }
@@ -239,6 +256,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int[] add(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         throw unsupported();
     }
@@ -248,6 +266,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int[] addWrapPartial(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         throw unsupported();
     }
@@ -257,6 +276,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long addWrapField(long instant, int value) {
         throw unsupported();
     }
@@ -266,6 +286,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int[] addWrapField(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         throw unsupported();
     }
@@ -275,6 +296,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException if the duration is unsupported
      */
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getDurationField().getDifference(minuendInstant, subtrahendInstant);
     }
@@ -284,6 +306,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException if the duration is unsupported
      */
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getDurationField().getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
@@ -293,6 +316,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long set(long instant, int value) {
         throw unsupported();
     }
@@ -302,6 +326,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int[] set(ReadablePartial instant, int fieldIndex, int[] values, int newValue) {
         throw unsupported();
     }
@@ -311,6 +336,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long set(long instant, String text, Locale locale) {
         throw unsupported();
     }
@@ -320,6 +346,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long set(long instant, String text) {
         throw unsupported();
     }
@@ -329,6 +356,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int[] set(ReadablePartial instant, int fieldIndex, int[] values, String text, Locale locale) {
         throw unsupported();
     }
@@ -339,6 +367,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @return a possibly supported DurationField
      */
+    @Override
     public DurationField getDurationField() {
         return iDurationField;
     }
@@ -348,6 +377,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @return null always
      */
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
@@ -357,6 +387,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public boolean isLeap(long instant) {
         throw unsupported();
     }
@@ -366,6 +397,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getLeapAmount(long instant) {
         throw unsupported();
     }
@@ -375,6 +407,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @return null always
      */
+    @Override
     public DurationField getLeapDurationField() {
         return null;
     }
@@ -384,6 +417,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMinimumValue() {
         throw unsupported();
     }
@@ -393,6 +427,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMinimumValue(long instant) {
         throw unsupported();
     }
@@ -402,6 +437,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMinimumValue(ReadablePartial instant) {
         throw unsupported();
     }
@@ -411,6 +447,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMinimumValue(ReadablePartial instant, int[] values) {
         throw unsupported();
     }
@@ -420,6 +457,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMaximumValue() {
         throw unsupported();
     }
@@ -429,6 +467,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMaximumValue(long instant) {
         throw unsupported();
     }
@@ -438,6 +477,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMaximumValue(ReadablePartial instant) {
         throw unsupported();
     }
@@ -447,6 +487,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMaximumValue(ReadablePartial instant, int[] values) {
         throw unsupported();
     }
@@ -456,6 +497,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMaximumTextLength(Locale locale) {
         throw unsupported();
     }
@@ -465,6 +507,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getMaximumShortTextLength(Locale locale) {
         throw unsupported();
     }
@@ -474,6 +517,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long roundFloor(long instant) {
         throw unsupported();
     }
@@ -483,6 +527,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long roundCeiling(long instant) {
         throw unsupported();
     }
@@ -492,6 +537,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long roundHalfFloor(long instant) {
         throw unsupported();
     }
@@ -501,6 +547,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long roundHalfCeiling(long instant) {
         throw unsupported();
     }
@@ -510,6 +557,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long roundHalfEven(long instant) {
         throw unsupported();
     }
@@ -519,6 +567,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long remainder(long instant) {
         throw unsupported();
     }
@@ -529,6 +578,7 @@ public final class UnsupportedDateTimeField extends DateTimeField implements Ser
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return "UnsupportedDateTimeField";
     }
diff --git a/src/main/java/org/joda/time/field/UnsupportedDurationField.java b/src/main/java/org/joda/time/field/UnsupportedDurationField.java
index 12264485..66dec62e 100644
--- a/src/main/java/org/joda/time/field/UnsupportedDurationField.java
+++ b/src/main/java/org/joda/time/field/UnsupportedDurationField.java
@@ -75,10 +75,12 @@ public final class UnsupportedDurationField extends DurationField implements Ser
     // Design note: Simple Accessors return a suitable value, but methods
     // intended to perform calculations throw an UnsupportedOperationException.
 
+    @Override
     public final DurationFieldType getType() {
         return iType;
     }
 
+    @Override
     public String getName() {
         return iType.getName();
     }
@@ -88,6 +90,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @return false always
      */
+    @Override
     public boolean isSupported() {
         return false;
     }
@@ -97,6 +100,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      * 
      * @return true always
      */
+    @Override
     public boolean isPrecise() {
         return true;
     }
@@ -106,6 +110,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getValue(long duration) {
         throw unsupported();
     }
@@ -115,6 +120,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getValueAsLong(long duration) {
         throw unsupported();
     }
@@ -124,6 +130,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getValue(long duration, long instant) {
         throw unsupported();
     }
@@ -133,6 +140,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getValueAsLong(long duration, long instant) {
         throw unsupported();
     }
@@ -142,6 +150,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getMillis(int value) {
         throw unsupported();
     }
@@ -151,6 +160,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getMillis(long value) {
         throw unsupported();
     }
@@ -160,6 +170,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getMillis(int value, long instant) {
         throw unsupported();
     }
@@ -169,6 +180,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getMillis(long value, long instant) {
         throw unsupported();
     }
@@ -178,6 +190,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long add(long instant, int value) {
         throw unsupported();
     }
@@ -187,6 +200,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long add(long instant, long value) {
         throw unsupported();
     }
@@ -196,6 +210,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         throw unsupported();
     }
@@ -205,6 +220,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @throws UnsupportedOperationException
      */
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         throw unsupported();
     }
@@ -214,6 +230,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      *
      * @return zero always
      */
+    @Override
     public long getUnitMillis() {
         return 0;
     }
@@ -234,6 +251,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      * @param obj  the object to compare to
      * @return true if equal
      */
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -252,6 +270,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      * 
      * @return the hashcode
      */
+    @Override
     public int hashCode() {
         return getName().hashCode();
     }
@@ -261,6 +280,7 @@ public final class UnsupportedDurationField extends DurationField implements Ser
      * 
      * @return debug string
      */
+    @Override
     public String toString() {
         return "UnsupportedDurationField[" + getName() + ']';
     }
diff --git a/src/main/java/org/joda/time/field/ZeroIsMaxDateTimeField.java b/src/main/java/org/joda/time/field/ZeroIsMaxDateTimeField.java
index 8a9011e2..32686fa2 100644
--- a/src/main/java/org/joda/time/field/ZeroIsMaxDateTimeField.java
+++ b/src/main/java/org/joda/time/field/ZeroIsMaxDateTimeField.java
@@ -49,6 +49,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
         }
     }
 
+    @Override
     public int get(long instant) {
         int value = getWrappedField().get(instant);
         if (value == 0) {
@@ -57,30 +58,37 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
         return value;
     }
 
+    @Override
     public long add(long instant, int value) {
         return getWrappedField().add(instant, value);
     }
 
+    @Override
     public long add(long instant, long value) {
         return getWrappedField().add(instant, value);
     }
 
+    @Override
     public long addWrapField(long instant, int value) {
         return getWrappedField().addWrapField(instant, value);
     }
 
+    @Override
     public int[] addWrapField(ReadablePartial instant, int fieldIndex, int[] values, int valueToAdd) {
         return getWrappedField().addWrapField(instant, fieldIndex, values, valueToAdd);
     }
 
+    @Override
     public int getDifference(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifference(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
         return getWrappedField().getDifferenceAsLong(minuendInstant, subtrahendInstant);
     }
 
+    @Override
     public long set(long instant, int value) {
         int max = getMaximumValue();
         FieldUtils.verifyValueBounds(this, value, 1, max);
@@ -90,14 +98,17 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
         return getWrappedField().set(instant, value);
     }
 
+    @Override
     public boolean isLeap(long instant) {
         return getWrappedField().isLeap(instant);
     }
 
+    @Override
     public int getLeapAmount(long instant) {
         return getWrappedField().getLeapAmount(instant);
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return getWrappedField().getLeapDurationField();
     }
@@ -107,6 +118,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value of 1
      */
+    @Override
     public int getMinimumValue() {
         return 1;
     }
@@ -116,6 +128,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value of 1
      */
+    @Override
     public int getMinimumValue(long instant) {
         return 1;
     }
@@ -125,6 +138,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value of 1
      */
+    @Override
     public int getMinimumValue(ReadablePartial instant) {
         return 1;
     }
@@ -134,6 +148,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the minimum value of 1
      */
+    @Override
     public int getMinimumValue(ReadablePartial instant, int[] values) {
         return 1;
     }
@@ -144,6 +159,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue() {
         return getWrappedField().getMaximumValue() + 1;
     }
@@ -154,6 +170,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue(long instant) {
         return getWrappedField().getMaximumValue(instant) + 1;
     }
@@ -164,6 +181,7 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue(ReadablePartial instant) {
         return getWrappedField().getMaximumValue(instant) + 1;
     }
@@ -174,30 +192,37 @@ public final class ZeroIsMaxDateTimeField extends DecoratedDateTimeField {
      * 
      * @return the maximum value
      */
+    @Override
     public int getMaximumValue(ReadablePartial instant, int[] values) {
         return getWrappedField().getMaximumValue(instant, values) + 1;
     }
 
+    @Override
     public long roundFloor(long instant) {
         return getWrappedField().roundFloor(instant);
     }
 
+    @Override
     public long roundCeiling(long instant) {
         return getWrappedField().roundCeiling(instant);
     }
 
+    @Override
     public long roundHalfFloor(long instant) {
         return getWrappedField().roundHalfFloor(instant);
     }
 
+    @Override
     public long roundHalfCeiling(long instant) {
         return getWrappedField().roundHalfCeiling(instant);
     }
 
+    @Override
     public long roundHalfEven(long instant) {
         return getWrappedField().roundHalfEven(instant);
     }
 
+    @Override
     public long remainder(long instant) {
         return getWrappedField().remainder(instant);
     }
diff --git a/src/main/java/org/joda/time/tz/CachedDateTimeZone.java b/src/main/java/org/joda/time/tz/CachedDateTimeZone.java
index 5ffcd770..637093d1 100644
--- a/src/main/java/org/joda/time/tz/CachedDateTimeZone.java
+++ b/src/main/java/org/joda/time/tz/CachedDateTimeZone.java
@@ -95,34 +95,42 @@ public class CachedDateTimeZone extends DateTimeZone {
         return iZone;
     }
 
+    @Override
     public String getNameKey(long instant) {
         return getInfo(instant).getNameKey(instant);
     }
 
+    @Override
     public int getOffset(long instant) {
         return getInfo(instant).getOffset(instant);
     }
 
+    @Override
     public int getStandardOffset(long instant) {
         return getInfo(instant).getStandardOffset(instant);
     }
 
+    @Override
     public boolean isFixed() {
         return iZone.isFixed();
     }
 
+    @Override
     public long nextTransition(long instant) {
         return iZone.nextTransition(instant);
     }
 
+    @Override
     public long previousTransition(long instant) {
         return iZone.previousTransition(instant);
     }
 
+    @Override
     public int hashCode() {
         return iZone.hashCode();
     }
 
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
diff --git a/src/main/java/org/joda/time/tz/DateTimeZoneBuilder.java b/src/main/java/org/joda/time/tz/DateTimeZoneBuilder.java
index f88ed345..8f87011b 100644
--- a/src/main/java/org/joda/time/tz/DateTimeZoneBuilder.java
+++ b/src/main/java/org/joda/time/tz/DateTimeZoneBuilder.java
@@ -639,6 +639,7 @@ public class DateTimeZoneBuilder {
             return prev - offset;
         }
 
+        @Override
         public boolean equals(Object obj) {
             if (this == obj) {
                 return true;
@@ -656,6 +657,7 @@ public class DateTimeZoneBuilder {
             return false;
         }
 
+        @Override
         public String toString() {
             return
                 "[OfYear]\n" + 
@@ -788,6 +790,7 @@ public class DateTimeZoneBuilder {
             return iSaveMillis;
         }
 
+        @Override
         public boolean equals(Object obj) {
             if (this == obj) {
                 return true;
@@ -1219,22 +1222,27 @@ public class DateTimeZoneBuilder {
             iEndRecurrence = endRecurrence;
         }
 
+        @Override
         public String getNameKey(long instant) {
             return findMatchingRecurrence(instant).getNameKey();
         }
 
+        @Override
         public int getOffset(long instant) {
             return iStandardOffset + findMatchingRecurrence(instant).getSaveMillis();
         }
 
+        @Override
         public int getStandardOffset(long instant) {
             return iStandardOffset;
         }
 
+        @Override
         public boolean isFixed() {
             return false;
         }
 
+        @Override
         public long nextTransition(long instant) {
             int standardOffset = iStandardOffset;
             Recurrence startRecurrence = iStartRecurrence;
@@ -1275,6 +1283,7 @@ public class DateTimeZoneBuilder {
             return (start > end) ? end : start;
         }
 
+        @Override
         public long previousTransition(long instant) {
             // Increment in order to handle the case where instant is exactly at
             // a transition.
@@ -1319,6 +1328,7 @@ public class DateTimeZoneBuilder {
             return ((start > end) ? start : end) - 1;
         }
 
+        @Override
         public boolean equals(Object obj) {
             if (this == obj) {
                 return true;
@@ -1545,6 +1555,7 @@ public class DateTimeZoneBuilder {
             iTailZone = tailZone;
         }
 
+        @Override
         public String getNameKey(long instant) {
             long[] transitions = iTransitions;
             int i = Arrays.binarySearch(transitions, instant);
@@ -1564,6 +1575,7 @@ public class DateTimeZoneBuilder {
             return iTailZone.getNameKey(instant);
         }
 
+        @Override
         public int getOffset(long instant) {
             long[] transitions = iTransitions;
             int i = Arrays.binarySearch(transitions, instant);
@@ -1583,6 +1595,7 @@ public class DateTimeZoneBuilder {
             return iTailZone.getOffset(instant);
         }
 
+        @Override
         public int getStandardOffset(long instant) {
             long[] transitions = iTransitions;
             int i = Arrays.binarySearch(transitions, instant);
@@ -1602,10 +1615,12 @@ public class DateTimeZoneBuilder {
             return iTailZone.getStandardOffset(instant);
         }
 
+        @Override
         public boolean isFixed() {
             return false;
         }
 
+        @Override
         public long nextTransition(long instant) {
             long[] transitions = iTransitions;
             int i = Arrays.binarySearch(transitions, instant);
@@ -1623,6 +1638,7 @@ public class DateTimeZoneBuilder {
             return iTailZone.nextTransition(instant);
         }
 
+        @Override
         public long previousTransition(long instant) {
             long[] transitions = iTransitions;
             int i = Arrays.binarySearch(transitions, instant);
@@ -1655,6 +1671,7 @@ public class DateTimeZoneBuilder {
             return instant;
         }
 
+        @Override
         public boolean equals(Object obj) {
             if (this == obj) {
                 return true;
diff --git a/src/main/java/org/joda/time/tz/FixedDateTimeZone.java b/src/main/java/org/joda/time/tz/FixedDateTimeZone.java
index 763008a1..4d980547 100644
--- a/src/main/java/org/joda/time/tz/FixedDateTimeZone.java
+++ b/src/main/java/org/joda/time/tz/FixedDateTimeZone.java
@@ -41,30 +41,37 @@ public final class FixedDateTimeZone extends DateTimeZone {
         iStandardOffset = standardOffset;
     }
 
+    @Override
     public String getNameKey(long instant) {
         return iNameKey;
     }
 
+    @Override
     public int getOffset(long instant) {
         return iWallOffset;
     }
 
+    @Override
     public int getStandardOffset(long instant) {
         return iStandardOffset;
     }
 
+    @Override
     public int getOffsetFromLocal(long instantLocal) {
         return iWallOffset;
     }
 
+    @Override
     public boolean isFixed() {
         return true;
     }
 
+    @Override
     public long nextTransition(long instant) {
         return instant;
     }
 
+    @Override
     public long previousTransition(long instant) {
         return instant;
     }
@@ -73,6 +80,7 @@ public final class FixedDateTimeZone extends DateTimeZone {
      * Override to return the correct timezone instance.
      * @since 1.5
      */
+    @Override
     public java.util.TimeZone toTimeZone() {
         String id = getID();
         if (id.length() == 6 && (id.startsWith("+") || id.startsWith("-"))) {
@@ -84,6 +92,7 @@ public final class FixedDateTimeZone extends DateTimeZone {
         return new java.util.SimpleTimeZone(iWallOffset, getID());
     }
 
+    @Override
     public boolean equals(Object obj) {
         if (this == obj) {
             return true;
@@ -98,6 +107,7 @@ public final class FixedDateTimeZone extends DateTimeZone {
         return false;
     }
 
+    @Override
     public int hashCode() {
         return getID().hashCode() + 37 * iStandardOffset + 31 * iWallOffset;
     }
diff --git a/src/main/java/org/joda/time/tz/ZoneInfoCompiler.java b/src/main/java/org/joda/time/tz/ZoneInfoCompiler.java
index f8f22880..8acea467 100644
--- a/src/main/java/org/joda/time/tz/ZoneInfoCompiler.java
+++ b/src/main/java/org/joda/time/tz/ZoneInfoCompiler.java
@@ -686,6 +686,7 @@ public class ZoneInfoCompiler {
                                iMillisOfDay);
         }
 
+        @Override
         public String toString() {
             return
                 "MonthOfYear: " + iMonthOfYear + "\n" +
@@ -767,6 +768,7 @@ public class ZoneInfoCompiler {
             return name.intern();
         }
 
+        @Override
         public String toString() {
             return
                 "[Rule]\n" + 
@@ -928,6 +930,7 @@ public class ZoneInfoCompiler {
             }
         }
 
+        @Override
         public String toString() {
             String str =
                 "[Zone]\n" + 
diff --git a/src/main/java/org/joda/time/tz/ZoneInfoLogger.java b/src/main/java/org/joda/time/tz/ZoneInfoLogger.java
index 1e9c46fe..7234dd52 100644
--- a/src/main/java/org/joda/time/tz/ZoneInfoLogger.java
+++ b/src/main/java/org/joda/time/tz/ZoneInfoLogger.java
@@ -21,6 +21,7 @@ package org.joda.time.tz;
 public class ZoneInfoLogger {
 
     static ThreadLocal<Boolean> cVerbose = new ThreadLocal<Boolean>() {
+        @Override
         protected Boolean initialValue() {
             return Boolean.FALSE;
         }
diff --git a/src/test/java/org/joda/time/MockNullZoneChronology.java b/src/test/java/org/joda/time/MockNullZoneChronology.java
index 34209aea..3f3d3a33 100644
--- a/src/test/java/org/joda/time/MockNullZoneChronology.java
+++ b/src/test/java/org/joda/time/MockNullZoneChronology.java
@@ -25,18 +25,23 @@ import org.joda.time.chrono.ISOChronology;
  */
 class MockNullZoneChronology extends BaseChronology {
 
+    @Override
     public DateTimeZone getZone() {
         return null;
     }
+    @Override
     public Chronology withUTC() {
         return this;
     }
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         return this;
     }
+    @Override
     public DateTimeField dayOfMonth() {  // for DateMidnight test
         return ISOChronology.getInstance().dayOfMonth();
     }
+    @Override
     public String toString() {
         return "";
     }
diff --git a/src/test/java/org/joda/time/MockZone.java b/src/test/java/org/joda/time/MockZone.java
index 76601513..a901e7f0 100644
--- a/src/test/java/org/joda/time/MockZone.java
+++ b/src/test/java/org/joda/time/MockZone.java
@@ -28,26 +28,32 @@ public class MockZone extends DateTimeZone {
         this.sizeMillis = sizeSecs * 1000;
     }
 
+    @Override
     public int getOffset(long instant) {
         return (instant < transition ? winterOffset : winterOffset + sizeMillis);
     }
 
+    @Override
     public int getStandardOffset(long instant) {
         return winterOffset;
     }
 
+    @Override
     public long nextTransition(long instant) {
         return (instant < transition ? transition : transition + 180L * DateTimeConstants.MILLIS_PER_DAY);
     }
 
+    @Override
     public long previousTransition(long instant) {
         return (instant > transition ? transition : transition - 180L * DateTimeConstants.MILLIS_PER_DAY);
     }
 
+    @Override
     public boolean isFixed() {
         return false;
     }
 
+    @Override
     public String getNameKey(long instant) {
         return null;
     }
diff --git a/src/test/java/org/joda/time/TestAbstractPartial.java b/src/test/java/org/joda/time/TestAbstractPartial.java
index 6884c6c6..2a19adde 100644
--- a/src/test/java/org/joda/time/TestAbstractPartial.java
+++ b/src/test/java/org/joda/time/TestAbstractPartial.java
@@ -59,12 +59,14 @@ public class TestAbstractPartial extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -154,6 +156,7 @@ public class TestAbstractPartial extends TestCase {
             super();
         }
 
+        @Override
         protected DateTimeField getField(int index, Chronology chrono) {
             switch (index) {
                 case 0:
@@ -184,41 +187,51 @@ public class TestAbstractPartial extends TestCase {
     
     static class MockProperty0 extends AbstractPartialFieldProperty {
         MockPartial partial = new MockPartial();
+        @Override
         public DateTimeField getField() {
             return partial.getField(0);
         }
+        @Override
         public ReadablePartial getReadablePartial() {
             return partial;
         }
+        @Override
         public int get() {
             return partial.getValue(0);
         }
     }
     static class MockProperty1 extends AbstractPartialFieldProperty {
         MockPartial partial = new MockPartial();
+        @Override
         public DateTimeField getField() {
             return partial.getField(1);
         }
+        @Override
         public ReadablePartial getReadablePartial() {
             return partial;
         }
+        @Override
         public int get() {
             return partial.getValue(1);
         }
     }
     static class MockProperty0Field extends MockProperty0 {
+        @Override
         public DateTimeField getField() {
             return BuddhistChronology.getInstanceUTC().hourOfDay();
         }
     }
     static class MockProperty0Val extends MockProperty0 {
+        @Override
         public int get() {
             return 99;
         }
     }
     static class MockProperty0Chrono extends MockProperty0 {
+        @Override
         public ReadablePartial getReadablePartial() {
             return new MockPartial() {
+                @Override
                 public Chronology getChronology() {
                     return ISOChronology.getInstanceUTC();
                 }
diff --git a/src/test/java/org/joda/time/TestBasePartial.java b/src/test/java/org/joda/time/TestBasePartial.java
index c6ea5b42..4c11e549 100644
--- a/src/test/java/org/joda/time/TestBasePartial.java
+++ b/src/test/java/org/joda/time/TestBasePartial.java
@@ -56,12 +56,14 @@ public class TestBasePartial extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -107,6 +109,7 @@ public class TestBasePartial extends TestCase {
             super(new int[] {1970, 1}, null);
         }
 
+        @Override
         protected DateTimeField getField(int index, Chronology chrono) {
             switch (index) {
                 case 0:
diff --git a/src/test/java/org/joda/time/TestBaseSingleFieldPeriod.java b/src/test/java/org/joda/time/TestBaseSingleFieldPeriod.java
index feb22c98..d62c4c24 100644
--- a/src/test/java/org/joda/time/TestBaseSingleFieldPeriod.java
+++ b/src/test/java/org/joda/time/TestBaseSingleFieldPeriod.java
@@ -42,9 +42,11 @@ public class TestBaseSingleFieldPeriod extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
@@ -314,18 +316,22 @@ public class TestBaseSingleFieldPeriod extends TestCase {
             return BaseSingleFieldPeriod.standardPeriodIn(period, millisPerUnit);
         }
         
+        @Override
         public DurationFieldType getFieldType() {
             return DurationFieldType.days();
         }
 
+        @Override
         public PeriodType getPeriodType() {
             return PeriodType.days();
         }
         
+        @Override
         public int getValue() {
             return super.getValue();
         }
         
+        @Override
         public void setValue(int value) {
             super.setValue(value);
         }
diff --git a/src/test/java/org/joda/time/TestChronology.java b/src/test/java/org/joda/time/TestChronology.java
index 509fb85a..3865837d 100644
--- a/src/test/java/org/joda/time/TestChronology.java
+++ b/src/test/java/org/joda/time/TestChronology.java
@@ -87,6 +87,7 @@ public class TestChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -97,6 +98,7 @@ public class TestChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestDateMidnight_Basics.java b/src/test/java/org/joda/time/TestDateMidnight_Basics.java
index 82982c9f..c4f6cdd7 100644
--- a/src/test/java/org/joda/time/TestDateMidnight_Basics.java
+++ b/src/test/java/org/joda/time/TestDateMidnight_Basics.java
@@ -121,6 +121,7 @@ public class TestDateMidnight_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW_UTC);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -131,6 +132,7 @@ public class TestDateMidnight_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
@@ -287,6 +289,7 @@ public class TestDateMidnight_Basics extends TestCase {
     }
     
     class MockInstant extends AbstractInstant {
+        @Override
         public String toString() {
             return null;
         }
@@ -992,12 +995,15 @@ public class TestDateMidnight_Basics extends TestCase {
         assertEquals(test.property(DateTimeFieldType.millisOfSecond()), test.property(DateTimeFieldType.millisOfSecond()));
         DateTimeFieldType bad = new DateTimeFieldType("bad") {
             private static final long serialVersionUID = 1L;
+            @Override
             public DurationFieldType getDurationType() {
                 return DurationFieldType.weeks();
             }
+            @Override
             public DurationFieldType getRangeDurationType() {
                 return null;
             }
+            @Override
             public DateTimeField getField(Chronology chronology) {
                 return UnsupportedDateTimeField.getInstance(this, UnsupportedDurationField.getInstance(getDurationType()));
             }
diff --git a/src/test/java/org/joda/time/TestDateMidnight_Constructors.java b/src/test/java/org/joda/time/TestDateMidnight_Constructors.java
index 2277c660..0446d2b6 100644
--- a/src/test/java/org/joda/time/TestDateMidnight_Constructors.java
+++ b/src/test/java/org/joda/time/TestDateMidnight_Constructors.java
@@ -96,6 +96,7 @@ public class TestDateMidnight_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW_UTC);
         zone = DateTimeZone.getDefault();
@@ -104,6 +105,7 @@ public class TestDateMidnight_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestDateMidnight_Properties.java b/src/test/java/org/joda/time/TestDateMidnight_Properties.java
index b49a7908..e003aa33 100644
--- a/src/test/java/org/joda/time/TestDateMidnight_Properties.java
+++ b/src/test/java/org/joda/time/TestDateMidnight_Properties.java
@@ -81,6 +81,7 @@ public class TestDateMidnight_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -89,6 +90,7 @@ public class TestDateMidnight_Properties extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestDateTimeComparator.java b/src/test/java/org/joda/time/TestDateTimeComparator.java
index 0371be3e..0a209771 100644
--- a/src/test/java/org/joda/time/TestDateTimeComparator.java
+++ b/src/test/java/org/joda/time/TestDateTimeComparator.java
@@ -131,6 +131,7 @@ public class TestDateTimeComparator extends TestCase {
     /**
      * Junit <code>setUp()</code> method.
      */
+    @Override
     public void setUp() /* throws Exception */ {
         Chronology chrono = ISOChronology.getInstanceUTC();
 
@@ -154,6 +155,7 @@ public class TestDateTimeComparator extends TestCase {
     /**
      * Junit <code>tearDown()</code> method.
      */
+    @Override
     protected void tearDown() /* throws Exception */ {
         // super.tearDown();
         aDateTime = null;
diff --git a/src/test/java/org/joda/time/TestDateTimeFieldType.java b/src/test/java/org/joda/time/TestDateTimeFieldType.java
index 29aaceef..17754945 100644
--- a/src/test/java/org/joda/time/TestDateTimeFieldType.java
+++ b/src/test/java/org/joda/time/TestDateTimeFieldType.java
@@ -45,9 +45,11 @@ public class TestDateTimeFieldType extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestDateTimeUtils.java b/src/test/java/org/joda/time/TestDateTimeUtils.java
index f2acbdec..ab610814 100644
--- a/src/test/java/org/joda/time/TestDateTimeUtils.java
+++ b/src/test/java/org/joda/time/TestDateTimeUtils.java
@@ -91,13 +91,16 @@ public class TestDateTimeUtils extends TestCase {
     static {
         // don't call Policy.getPolicy()
         RESTRICT = new Policy() {
+            @Override
             public PermissionCollection getPermissions(CodeSource codesource) {
                 Permissions p = new Permissions();
                 p.add(new AllPermission());  // enable everything
                 return p;
             }
+            @Override
             public void refresh() {
             }
+            @Override
             public boolean implies(ProtectionDomain domain, Permission permission) {
                 if (permission instanceof JodaTimePermission) {
                     return false;
@@ -107,11 +110,13 @@ public class TestDateTimeUtils extends TestCase {
             }
         };
         ALLOW = new Policy() {
+            @Override
             public PermissionCollection getPermissions(CodeSource codesource) {
                 Permissions p = new Permissions();
                 p.add(new AllPermission());  // enable everything
                 return p;
             }
+            @Override
             public void refresh() {
             }
         };
@@ -129,9 +134,11 @@ public class TestDateTimeUtils extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
@@ -369,6 +376,7 @@ public class TestDateTimeUtils extends TestCase {
         MutableInterval ai = new MutableInterval() {
             private static final long serialVersionUID = 1L;
 
+            @Override
             public Chronology getChronology() {
                 return null; // testing for this
             }
diff --git a/src/test/java/org/joda/time/TestDateTimeZoneCutover.java b/src/test/java/org/joda/time/TestDateTimeZoneCutover.java
index 695ad6c7..87227e2d 100644
--- a/src/test/java/org/joda/time/TestDateTimeZoneCutover.java
+++ b/src/test/java/org/joda/time/TestDateTimeZoneCutover.java
@@ -40,9 +40,11 @@ public class TestDateTimeZoneCutover extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestDateTime_Basics.java b/src/test/java/org/joda/time/TestDateTime_Basics.java
index 1172ef98..89779e77 100644
--- a/src/test/java/org/joda/time/TestDateTime_Basics.java
+++ b/src/test/java/org/joda/time/TestDateTime_Basics.java
@@ -106,6 +106,7 @@ public class TestDateTime_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -116,6 +117,7 @@ public class TestDateTime_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
@@ -306,6 +308,7 @@ public class TestDateTime_Basics extends TestCase {
     }
     
     class MockInstant extends AbstractInstant {
+        @Override
         public String toString() {
             return null;
         }
@@ -319,18 +322,23 @@ public class TestDateTime_Basics extends TestCase {
 
     class MockEqualsChronology extends BaseChronology {
         private static final long serialVersionUID = 1L;
+        @Override
         public boolean equals(Object obj) {
             return obj instanceof MockEqualsChronology;
         }
+        @Override
         public DateTimeZone getZone() {
             return null;
         }
+        @Override
         public Chronology withUTC() {
             return this;
         }
+        @Override
         public Chronology withZone(DateTimeZone zone) {
             return this;
         }
+        @Override
         public String toString() {
             return "";
         }
@@ -1301,12 +1309,15 @@ public class TestDateTime_Basics extends TestCase {
         assertEquals(test.millisOfSecond(), test.property(DateTimeFieldType.millisOfSecond()));
         DateTimeFieldType bad = new DateTimeFieldType("bad") {
             private static final long serialVersionUID = 1L;
+            @Override
             public DurationFieldType getDurationType() {
                 return DurationFieldType.weeks();
             }
+            @Override
             public DurationFieldType getRangeDurationType() {
                 return null;
             }
+            @Override
             public DateTimeField getField(Chronology chronology) {
                 return UnsupportedDateTimeField.getInstance(this, UnsupportedDurationField.getInstance(getDurationType()));
             }
diff --git a/src/test/java/org/joda/time/TestDateTime_Constructors.java b/src/test/java/org/joda/time/TestDateTime_Constructors.java
index 7c617bfc..1843f290 100644
--- a/src/test/java/org/joda/time/TestDateTime_Constructors.java
+++ b/src/test/java/org/joda/time/TestDateTime_Constructors.java
@@ -80,6 +80,7 @@ public class TestDateTime_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -89,6 +90,7 @@ public class TestDateTime_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestDateTime_Properties.java b/src/test/java/org/joda/time/TestDateTime_Properties.java
index 7370ec1d..d82a80ff 100644
--- a/src/test/java/org/joda/time/TestDateTime_Properties.java
+++ b/src/test/java/org/joda/time/TestDateTime_Properties.java
@@ -80,6 +80,7 @@ public class TestDateTime_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -88,6 +89,7 @@ public class TestDateTime_Properties extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestDays.java b/src/test/java/org/joda/time/TestDays.java
index ccbad3be..77440de6 100644
--- a/src/test/java/org/joda/time/TestDays.java
+++ b/src/test/java/org/joda/time/TestDays.java
@@ -45,9 +45,11 @@ public class TestDays extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestDurationField.java b/src/test/java/org/joda/time/TestDurationField.java
index d5c3ed2a..ee43431b 100644
--- a/src/test/java/org/joda/time/TestDurationField.java
+++ b/src/test/java/org/joda/time/TestDurationField.java
@@ -39,9 +39,11 @@ public class TestDurationField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestDurationFieldType.java b/src/test/java/org/joda/time/TestDurationFieldType.java
index 9f2bfb76..aef6f085 100644
--- a/src/test/java/org/joda/time/TestDurationFieldType.java
+++ b/src/test/java/org/joda/time/TestDurationFieldType.java
@@ -45,9 +45,11 @@ public class TestDurationFieldType extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestDuration_Basics.java b/src/test/java/org/joda/time/TestDuration_Basics.java
index 3f0e3b4c..1e32e392 100644
--- a/src/test/java/org/joda/time/TestDuration_Basics.java
+++ b/src/test/java/org/joda/time/TestDuration_Basics.java
@@ -82,6 +82,7 @@ public class TestDuration_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -92,6 +93,7 @@ public class TestDuration_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
@@ -849,6 +851,7 @@ public class TestDuration_Basics extends TestCase {
         public MockMutableDuration(long duration) {
             super(duration);
         }
+        @Override
         public void setMillis(long duration) {
             super.setMillis(duration);
         }
diff --git a/src/test/java/org/joda/time/TestDuration_Constructors.java b/src/test/java/org/joda/time/TestDuration_Constructors.java
index 9501f1e4..9bf4c776 100644
--- a/src/test/java/org/joda/time/TestDuration_Constructors.java
+++ b/src/test/java/org/joda/time/TestDuration_Constructors.java
@@ -74,6 +74,7 @@ public class TestDuration_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -84,6 +85,7 @@ public class TestDuration_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestHours.java b/src/test/java/org/joda/time/TestHours.java
index fe8791d0..7c597205 100644
--- a/src/test/java/org/joda/time/TestHours.java
+++ b/src/test/java/org/joda/time/TestHours.java
@@ -45,9 +45,11 @@ public class TestHours extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestInstant_Basics.java b/src/test/java/org/joda/time/TestInstant_Basics.java
index 97a177e9..6a5ca472 100644
--- a/src/test/java/org/joda/time/TestInstant_Basics.java
+++ b/src/test/java/org/joda/time/TestInstant_Basics.java
@@ -84,6 +84,7 @@ public class TestInstant_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -94,6 +95,7 @@ public class TestInstant_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
@@ -205,6 +207,7 @@ public class TestInstant_Basics extends TestCase {
     }
     
     class MockInstant extends AbstractInstant {
+        @Override
         public String toString() {
             return null;
         }
diff --git a/src/test/java/org/joda/time/TestInstant_Constructors.java b/src/test/java/org/joda/time/TestInstant_Constructors.java
index 221b691c..08c2732d 100644
--- a/src/test/java/org/joda/time/TestInstant_Constructors.java
+++ b/src/test/java/org/joda/time/TestInstant_Constructors.java
@@ -68,6 +68,7 @@ public class TestInstant_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -77,6 +78,7 @@ public class TestInstant_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestInterval_Basics.java b/src/test/java/org/joda/time/TestInterval_Basics.java
index 1d933472..a3a80ce7 100644
--- a/src/test/java/org/joda/time/TestInterval_Basics.java
+++ b/src/test/java/org/joda/time/TestInterval_Basics.java
@@ -89,6 +89,7 @@ public class TestInterval_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -101,6 +102,7 @@ public class TestInterval_Basics extends TestCase {
         interval33 = new Interval(3, 3);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestInterval_Constructors.java b/src/test/java/org/joda/time/TestInterval_Constructors.java
index 5e36cdb4..430e7096 100644
--- a/src/test/java/org/joda/time/TestInterval_Constructors.java
+++ b/src/test/java/org/joda/time/TestInterval_Constructors.java
@@ -82,6 +82,7 @@ public class TestInterval_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -92,6 +93,7 @@ public class TestInterval_Constructors extends TestCase {
         Locale.setDefault(Locale.FRANCE);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestLocalDateTime_Basics.java b/src/test/java/org/joda/time/TestLocalDateTime_Basics.java
index b3f19036..5fedb665 100644
--- a/src/test/java/org/joda/time/TestLocalDateTime_Basics.java
+++ b/src/test/java/org/joda/time/TestLocalDateTime_Basics.java
@@ -96,6 +96,7 @@ public class TestLocalDateTime_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW_UTC);
         zone = DateTimeZone.getDefault();
@@ -104,6 +105,7 @@ public class TestLocalDateTime_Basics extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -311,9 +313,11 @@ public class TestLocalDateTime_Basics extends TestCase {
     }
     
     class MockInstant extends MockPartial {
+        @Override
         public Chronology getChronology() {
             return COPTIC_UTC;
         }
+        @Override
         public DateTimeField[] getFields() {
             return new DateTimeField[] {
                 COPTIC_UTC.year(),
@@ -322,6 +326,7 @@ public class TestLocalDateTime_Basics extends TestCase {
                 COPTIC_UTC.millisOfDay(),
             };
         }
+        @Override
         public int[] getValues() {
             return new int[] {1970, 6, 9, MILLIS_OF_DAY_UTC};
         }
diff --git a/src/test/java/org/joda/time/TestLocalDateTime_Constructors.java b/src/test/java/org/joda/time/TestLocalDateTime_Constructors.java
index 55d49210..a2b04acc 100644
--- a/src/test/java/org/joda/time/TestLocalDateTime_Constructors.java
+++ b/src/test/java/org/joda/time/TestLocalDateTime_Constructors.java
@@ -78,12 +78,14 @@ public class TestLocalDateTime_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(MOSCOW);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestLocalDateTime_Properties.java b/src/test/java/org/joda/time/TestLocalDateTime_Properties.java
index 6667a961..3f581d7d 100644
--- a/src/test/java/org/joda/time/TestLocalDateTime_Properties.java
+++ b/src/test/java/org/joda/time/TestLocalDateTime_Properties.java
@@ -68,6 +68,7 @@ public class TestLocalDateTime_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -76,6 +77,7 @@ public class TestLocalDateTime_Properties extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestLocalDate_Basics.java b/src/test/java/org/joda/time/TestLocalDate_Basics.java
index 7fc7cef6..379b6bb1 100644
--- a/src/test/java/org/joda/time/TestLocalDate_Basics.java
+++ b/src/test/java/org/joda/time/TestLocalDate_Basics.java
@@ -101,6 +101,7 @@ public class TestLocalDate_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -109,6 +110,7 @@ public class TestLocalDate_Basics extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -268,9 +270,11 @@ public class TestLocalDate_Basics extends TestCase {
     }
 
     class MockInstant extends MockPartial {
+        @Override
         public Chronology getChronology() {
             return COPTIC_UTC;
         }
+        @Override
         public DateTimeField[] getFields() {
             return new DateTimeField[] {
                 COPTIC_UTC.year(),
@@ -278,6 +282,7 @@ public class TestLocalDate_Basics extends TestCase {
                 COPTIC_UTC.dayOfMonth(),
             };
         }
+        @Override
         public int[] getValues() {
             return new int[] {1970, 6, 9};
         }
diff --git a/src/test/java/org/joda/time/TestLocalDate_Constructors.java b/src/test/java/org/joda/time/TestLocalDate_Constructors.java
index 87b240ce..6393366a 100644
--- a/src/test/java/org/joda/time/TestLocalDate_Constructors.java
+++ b/src/test/java/org/joda/time/TestLocalDate_Constructors.java
@@ -70,12 +70,14 @@ public class TestLocalDate_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestLocalDate_Properties.java b/src/test/java/org/joda/time/TestLocalDate_Properties.java
index 8742c445..726174a3 100644
--- a/src/test/java/org/joda/time/TestLocalDate_Properties.java
+++ b/src/test/java/org/joda/time/TestLocalDate_Properties.java
@@ -63,6 +63,7 @@ public class TestLocalDate_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -71,6 +72,7 @@ public class TestLocalDate_Properties extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestLocalTime_Basics.java b/src/test/java/org/joda/time/TestLocalTime_Basics.java
index 5f0fd1e3..1996298e 100644
--- a/src/test/java/org/joda/time/TestLocalTime_Basics.java
+++ b/src/test/java/org/joda/time/TestLocalTime_Basics.java
@@ -80,12 +80,14 @@ public class TestLocalTime_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -226,12 +228,15 @@ public class TestLocalTime_Basics extends TestCase {
         
         DateTimeFieldType d = new DateTimeFieldType("hours") {
             private static final long serialVersionUID = 1L;
+            @Override
             public DurationFieldType getDurationType() {
                 return DurationFieldType.hours();
             }
+            @Override
             public DurationFieldType getRangeDurationType() {
                 return null;
             }
+            @Override
             public DateTimeField getField(Chronology chronology) {
                 return chronology.hourOfDay();
             }
@@ -240,12 +245,15 @@ public class TestLocalTime_Basics extends TestCase {
         
         d = new DateTimeFieldType("hourOfYear") {
             private static final long serialVersionUID = 1L;
+            @Override
             public DurationFieldType getDurationType() {
                 return DurationFieldType.hours();
             }
+            @Override
             public DurationFieldType getRangeDurationType() {
                 return DurationFieldType.years();
             }
+            @Override
             public DateTimeField getField(Chronology chronology) {
                 return chronology.hourOfDay();
             }
@@ -293,9 +301,11 @@ public class TestLocalTime_Basics extends TestCase {
     }
 
     class MockInstant extends MockPartial {
+        @Override
         public Chronology getChronology() {
             return COPTIC_UTC;
         }
+        @Override
         public DateTimeField[] getFields() {
             return new DateTimeField[] {
                 COPTIC_UTC.hourOfDay(),
@@ -304,6 +314,7 @@ public class TestLocalTime_Basics extends TestCase {
                 COPTIC_UTC.millisOfSecond(),
             };
         }
+        @Override
         public int[] getValues() {
             return new int[] {10, 20, 30, 40};
         }
diff --git a/src/test/java/org/joda/time/TestLocalTime_Constructors.java b/src/test/java/org/joda/time/TestLocalTime_Constructors.java
index 68c5bfc0..0b3a0452 100644
--- a/src/test/java/org/joda/time/TestLocalTime_Constructors.java
+++ b/src/test/java/org/joda/time/TestLocalTime_Constructors.java
@@ -81,6 +81,7 @@ public class TestLocalTime_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -88,6 +89,7 @@ public class TestLocalTime_Constructors extends TestCase {
         java.util.TimeZone.setDefault(LONDON.toTimeZone());
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestLocalTime_Properties.java b/src/test/java/org/joda/time/TestLocalTime_Properties.java
index 4cec9aa0..9a4b95e8 100644
--- a/src/test/java/org/joda/time/TestLocalTime_Properties.java
+++ b/src/test/java/org/joda/time/TestLocalTime_Properties.java
@@ -62,12 +62,14 @@ public class TestLocalTime_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestMinMaxLong.java b/src/test/java/org/joda/time/TestMinMaxLong.java
index 992b064f..255c47b0 100644
--- a/src/test/java/org/joda/time/TestMinMaxLong.java
+++ b/src/test/java/org/joda/time/TestMinMaxLong.java
@@ -48,6 +48,7 @@ public class TestMinMaxLong extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         zone = DateTimeZone.getDefault();
         locale = Locale.getDefault();
@@ -56,6 +57,7 @@ public class TestMinMaxLong extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(zone);
         java.util.TimeZone.setDefault(zone.toTimeZone());
diff --git a/src/test/java/org/joda/time/TestMinutes.java b/src/test/java/org/joda/time/TestMinutes.java
index 53c5202d..3cc1a7d3 100644
--- a/src/test/java/org/joda/time/TestMinutes.java
+++ b/src/test/java/org/joda/time/TestMinutes.java
@@ -45,9 +45,11 @@ public class TestMinutes extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestMonthDay_Basics.java b/src/test/java/org/joda/time/TestMonthDay_Basics.java
index 9cd923d9..92c44cf2 100644
--- a/src/test/java/org/joda/time/TestMonthDay_Basics.java
+++ b/src/test/java/org/joda/time/TestMonthDay_Basics.java
@@ -70,12 +70,14 @@ public class TestMonthDay_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestMonthDay_Constructors.java b/src/test/java/org/joda/time/TestMonthDay_Constructors.java
index 7080d83c..47103abd 100644
--- a/src/test/java/org/joda/time/TestMonthDay_Constructors.java
+++ b/src/test/java/org/joda/time/TestMonthDay_Constructors.java
@@ -65,12 +65,14 @@ public class TestMonthDay_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestMonthDay_Properties.java b/src/test/java/org/joda/time/TestMonthDay_Properties.java
index 9e6ba086..c64956b1 100644
--- a/src/test/java/org/joda/time/TestMonthDay_Properties.java
+++ b/src/test/java/org/joda/time/TestMonthDay_Properties.java
@@ -60,6 +60,7 @@ public class TestMonthDay_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -68,6 +69,7 @@ public class TestMonthDay_Properties extends TestCase {
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestMonths.java b/src/test/java/org/joda/time/TestMonths.java
index 22e7a2c9..e3805691 100644
--- a/src/test/java/org/joda/time/TestMonths.java
+++ b/src/test/java/org/joda/time/TestMonths.java
@@ -45,9 +45,11 @@ public class TestMonths extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestMutableDateTime_Adds.java b/src/test/java/org/joda/time/TestMutableDateTime_Adds.java
index 97228fc6..83962376 100644
--- a/src/test/java/org/joda/time/TestMutableDateTime_Adds.java
+++ b/src/test/java/org/joda/time/TestMutableDateTime_Adds.java
@@ -75,6 +75,7 @@ public class TestMutableDateTime_Adds extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -85,6 +86,7 @@ public class TestMutableDateTime_Adds extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutableDateTime_Basics.java b/src/test/java/org/joda/time/TestMutableDateTime_Basics.java
index f81f59b9..ae6a24b3 100644
--- a/src/test/java/org/joda/time/TestMutableDateTime_Basics.java
+++ b/src/test/java/org/joda/time/TestMutableDateTime_Basics.java
@@ -90,6 +90,7 @@ public class TestMutableDateTime_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -100,6 +101,7 @@ public class TestMutableDateTime_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
@@ -249,6 +251,7 @@ public class TestMutableDateTime_Basics extends TestCase {
     }
     
     class MockInstant extends AbstractInstant {
+        @Override
         public String toString() {
             return null;
         }
@@ -262,18 +265,23 @@ public class TestMutableDateTime_Basics extends TestCase {
 
     class MockEqualsChronology extends BaseChronology {
         private static final long serialVersionUID = 1L;
+        @Override
         public boolean equals(Object obj) {
             return obj instanceof MockEqualsChronology;
         }
+        @Override
         public DateTimeZone getZone() {
             return null;
         }
+        @Override
         public Chronology withUTC() {
             return this;
         }
+        @Override
         public Chronology withZone(DateTimeZone zone) {
             return this;
         }
+        @Override
         public String toString() {
             return "";
         }
@@ -732,12 +740,15 @@ public class TestMutableDateTime_Basics extends TestCase {
         assertEquals(test.millisOfSecond(), test.property(DateTimeFieldType.millisOfSecond()));
         DateTimeFieldType bad = new DateTimeFieldType("bad") {
             private static final long serialVersionUID = 1L;
+            @Override
             public DurationFieldType getDurationType() {
                 return DurationFieldType.weeks();
             }
+            @Override
             public DurationFieldType getRangeDurationType() {
                 return null;
             }
+            @Override
             public DateTimeField getField(Chronology chronology) {
                 return UnsupportedDateTimeField.getInstance(this, UnsupportedDurationField.getInstance(getDurationType()));
             }
diff --git a/src/test/java/org/joda/time/TestMutableDateTime_Constructors.java b/src/test/java/org/joda/time/TestMutableDateTime_Constructors.java
index bd5f189d..373e0af4 100644
--- a/src/test/java/org/joda/time/TestMutableDateTime_Constructors.java
+++ b/src/test/java/org/joda/time/TestMutableDateTime_Constructors.java
@@ -80,6 +80,7 @@ public class TestMutableDateTime_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -89,6 +90,7 @@ public class TestMutableDateTime_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestMutableDateTime_Properties.java b/src/test/java/org/joda/time/TestMutableDateTime_Properties.java
index 37d62352..76b04592 100644
--- a/src/test/java/org/joda/time/TestMutableDateTime_Properties.java
+++ b/src/test/java/org/joda/time/TestMutableDateTime_Properties.java
@@ -73,6 +73,7 @@ public class TestMutableDateTime_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -81,6 +82,7 @@ public class TestMutableDateTime_Properties extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestMutableDateTime_Sets.java b/src/test/java/org/joda/time/TestMutableDateTime_Sets.java
index aab5bf38..d0294d9a 100644
--- a/src/test/java/org/joda/time/TestMutableDateTime_Sets.java
+++ b/src/test/java/org/joda/time/TestMutableDateTime_Sets.java
@@ -78,6 +78,7 @@ public class TestMutableDateTime_Sets extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -88,6 +89,7 @@ public class TestMutableDateTime_Sets extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutableInterval_Basics.java b/src/test/java/org/joda/time/TestMutableInterval_Basics.java
index 091d7a4b..a8a30faf 100644
--- a/src/test/java/org/joda/time/TestMutableInterval_Basics.java
+++ b/src/test/java/org/joda/time/TestMutableInterval_Basics.java
@@ -84,6 +84,7 @@ public class TestMutableInterval_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -94,6 +95,7 @@ public class TestMutableInterval_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutableInterval_Constructors.java b/src/test/java/org/joda/time/TestMutableInterval_Constructors.java
index 99c4ec93..ff9c3c1e 100644
--- a/src/test/java/org/joda/time/TestMutableInterval_Constructors.java
+++ b/src/test/java/org/joda/time/TestMutableInterval_Constructors.java
@@ -80,6 +80,7 @@ public class TestMutableInterval_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -90,6 +91,7 @@ public class TestMutableInterval_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutableInterval_Updates.java b/src/test/java/org/joda/time/TestMutableInterval_Updates.java
index 2ea700f9..f78b0839 100644
--- a/src/test/java/org/joda/time/TestMutableInterval_Updates.java
+++ b/src/test/java/org/joda/time/TestMutableInterval_Updates.java
@@ -77,6 +77,7 @@ public class TestMutableInterval_Updates extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -87,6 +88,7 @@ public class TestMutableInterval_Updates extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutablePeriod_Basics.java b/src/test/java/org/joda/time/TestMutablePeriod_Basics.java
index 176338ca..806d183b 100644
--- a/src/test/java/org/joda/time/TestMutablePeriod_Basics.java
+++ b/src/test/java/org/joda/time/TestMutablePeriod_Basics.java
@@ -80,6 +80,7 @@ public class TestMutablePeriod_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -90,6 +91,7 @@ public class TestMutablePeriod_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutablePeriod_Constructors.java b/src/test/java/org/joda/time/TestMutablePeriod_Constructors.java
index 5f0098d9..8f216fa6 100644
--- a/src/test/java/org/joda/time/TestMutablePeriod_Constructors.java
+++ b/src/test/java/org/joda/time/TestMutablePeriod_Constructors.java
@@ -77,6 +77,7 @@ public class TestMutablePeriod_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -87,6 +88,7 @@ public class TestMutablePeriod_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestMutablePeriod_Updates.java b/src/test/java/org/joda/time/TestMutablePeriod_Updates.java
index 5c42f501..24066626 100644
--- a/src/test/java/org/joda/time/TestMutablePeriod_Updates.java
+++ b/src/test/java/org/joda/time/TestMutablePeriod_Updates.java
@@ -76,6 +76,7 @@ public class TestMutablePeriod_Updates extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -86,6 +87,7 @@ public class TestMutablePeriod_Updates extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestPartial_Basics.java b/src/test/java/org/joda/time/TestPartial_Basics.java
index d49cb288..6f75fa34 100644
--- a/src/test/java/org/joda/time/TestPartial_Basics.java
+++ b/src/test/java/org/joda/time/TestPartial_Basics.java
@@ -75,12 +75,14 @@ public class TestPartial_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestPartial_Constructors.java b/src/test/java/org/joda/time/TestPartial_Constructors.java
index 8d5e2027..f5a892e8 100644
--- a/src/test/java/org/joda/time/TestPartial_Constructors.java
+++ b/src/test/java/org/joda/time/TestPartial_Constructors.java
@@ -56,12 +56,14 @@ public class TestPartial_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestPartial_Match.java b/src/test/java/org/joda/time/TestPartial_Match.java
index 60e5c206..f593c287 100644
--- a/src/test/java/org/joda/time/TestPartial_Match.java
+++ b/src/test/java/org/joda/time/TestPartial_Match.java
@@ -79,12 +79,14 @@ public class TestPartial_Match extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestPartial_Properties.java b/src/test/java/org/joda/time/TestPartial_Properties.java
index d26298ab..a1e1ee7e 100644
--- a/src/test/java/org/joda/time/TestPartial_Properties.java
+++ b/src/test/java/org/joda/time/TestPartial_Properties.java
@@ -71,11 +71,13 @@ public class TestPartial_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(zone);
         zone = null;
diff --git a/src/test/java/org/joda/time/TestPeriodType.java b/src/test/java/org/joda/time/TestPeriodType.java
index 17497d38..0369ac3d 100644
--- a/src/test/java/org/joda/time/TestPeriodType.java
+++ b/src/test/java/org/joda/time/TestPeriodType.java
@@ -78,6 +78,7 @@ public class TestPeriodType extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -88,6 +89,7 @@ public class TestPeriodType extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestPeriod_Basics.java b/src/test/java/org/joda/time/TestPeriod_Basics.java
index 46c6871f..22f44dcd 100644
--- a/src/test/java/org/joda/time/TestPeriod_Basics.java
+++ b/src/test/java/org/joda/time/TestPeriod_Basics.java
@@ -84,6 +84,7 @@ public class TestPeriod_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -94,6 +95,7 @@ public class TestPeriod_Basics extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestPeriod_Constructors.java b/src/test/java/org/joda/time/TestPeriod_Constructors.java
index 1ebf258e..372b044e 100644
--- a/src/test/java/org/joda/time/TestPeriod_Constructors.java
+++ b/src/test/java/org/joda/time/TestPeriod_Constructors.java
@@ -65,6 +65,7 @@ public class TestPeriod_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -75,6 +76,7 @@ public class TestPeriod_Constructors extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestSeconds.java b/src/test/java/org/joda/time/TestSeconds.java
index 63a8426d..e18a8f27 100644
--- a/src/test/java/org/joda/time/TestSeconds.java
+++ b/src/test/java/org/joda/time/TestSeconds.java
@@ -45,9 +45,11 @@ public class TestSeconds extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestSerialization.java b/src/test/java/org/joda/time/TestSerialization.java
index 434d4e87..5f5da0a7 100644
--- a/src/test/java/org/joda/time/TestSerialization.java
+++ b/src/test/java/org/joda/time/TestSerialization.java
@@ -97,6 +97,7 @@ public class TestSerialization extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -107,6 +108,7 @@ public class TestSerialization extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/TestStringConvert.java b/src/test/java/org/joda/time/TestStringConvert.java
index e4fce081..d571e046 100644
--- a/src/test/java/org/joda/time/TestStringConvert.java
+++ b/src/test/java/org/joda/time/TestStringConvert.java
@@ -42,9 +42,11 @@ public class TestStringConvert extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestTimeOfDay_Basics.java b/src/test/java/org/joda/time/TestTimeOfDay_Basics.java
index 671740ba..528920d1 100644
--- a/src/test/java/org/joda/time/TestTimeOfDay_Basics.java
+++ b/src/test/java/org/joda/time/TestTimeOfDay_Basics.java
@@ -79,12 +79,14 @@ public class TestTimeOfDay_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -219,9 +221,11 @@ public class TestTimeOfDay_Basics extends TestCase {
     }
 
     class MockInstant extends MockPartial {
+        @Override
         public Chronology getChronology() {
             return CopticChronology.getInstanceUTC();
         }
+        @Override
         public DateTimeField[] getFields() {
             return new DateTimeField[] {
                 CopticChronology.getInstanceUTC().hourOfDay(),
@@ -230,6 +234,7 @@ public class TestTimeOfDay_Basics extends TestCase {
                 CopticChronology.getInstanceUTC().millisOfSecond(),
             };
         }
+        @Override
         public int[] getValues() {
             return new int[] {10, 20, 30, 40};
         }
diff --git a/src/test/java/org/joda/time/TestTimeOfDay_Constructors.java b/src/test/java/org/joda/time/TestTimeOfDay_Constructors.java
index 4ea820be..83a9d2c4 100644
--- a/src/test/java/org/joda/time/TestTimeOfDay_Constructors.java
+++ b/src/test/java/org/joda/time/TestTimeOfDay_Constructors.java
@@ -73,6 +73,7 @@ public class TestTimeOfDay_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -80,6 +81,7 @@ public class TestTimeOfDay_Constructors extends TestCase {
         java.util.TimeZone.setDefault(LONDON.toTimeZone());
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestTimeOfDay_Properties.java b/src/test/java/org/joda/time/TestTimeOfDay_Properties.java
index ef893e1c..40ef2ba2 100644
--- a/src/test/java/org/joda/time/TestTimeOfDay_Properties.java
+++ b/src/test/java/org/joda/time/TestTimeOfDay_Properties.java
@@ -63,12 +63,14 @@ public class TestTimeOfDay_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestWeeks.java b/src/test/java/org/joda/time/TestWeeks.java
index 3ad7746f..407d0e63 100644
--- a/src/test/java/org/joda/time/TestWeeks.java
+++ b/src/test/java/org/joda/time/TestWeeks.java
@@ -45,9 +45,11 @@ public class TestWeeks extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/TestYearMonthDay_Basics.java b/src/test/java/org/joda/time/TestYearMonthDay_Basics.java
index a9c47d12..61d8e641 100644
--- a/src/test/java/org/joda/time/TestYearMonthDay_Basics.java
+++ b/src/test/java/org/joda/time/TestYearMonthDay_Basics.java
@@ -68,12 +68,14 @@ public class TestYearMonthDay_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -200,9 +202,11 @@ public class TestYearMonthDay_Basics extends TestCase {
     }
     
     class MockInstant extends MockPartial {
+        @Override
         public Chronology getChronology() {
             return COPTIC_UTC;
         }
+        @Override
         public DateTimeField[] getFields() {
             return new DateTimeField[] {
                 COPTIC_UTC.year(),
@@ -210,6 +214,7 @@ public class TestYearMonthDay_Basics extends TestCase {
                 COPTIC_UTC.dayOfMonth(),
             };
         }
+        @Override
         public int[] getValues() {
             return new int[] {1970, 6, 9};
         }
diff --git a/src/test/java/org/joda/time/TestYearMonthDay_Constructors.java b/src/test/java/org/joda/time/TestYearMonthDay_Constructors.java
index e1dd8017..731fad71 100644
--- a/src/test/java/org/joda/time/TestYearMonthDay_Constructors.java
+++ b/src/test/java/org/joda/time/TestYearMonthDay_Constructors.java
@@ -66,12 +66,14 @@ public class TestYearMonthDay_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestYearMonthDay_Properties.java b/src/test/java/org/joda/time/TestYearMonthDay_Properties.java
index e16a6036..8653050e 100644
--- a/src/test/java/org/joda/time/TestYearMonthDay_Properties.java
+++ b/src/test/java/org/joda/time/TestYearMonthDay_Properties.java
@@ -64,6 +64,7 @@ public class TestYearMonthDay_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -72,6 +73,7 @@ public class TestYearMonthDay_Properties extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestYearMonth_Basics.java b/src/test/java/org/joda/time/TestYearMonth_Basics.java
index 98afd564..bc4be14b 100644
--- a/src/test/java/org/joda/time/TestYearMonth_Basics.java
+++ b/src/test/java/org/joda/time/TestYearMonth_Basics.java
@@ -72,12 +72,14 @@ public class TestYearMonth_Basics extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
@@ -200,15 +202,18 @@ public class TestYearMonth_Basics extends TestCase {
     }
     
     class MockYM extends MockPartial {
+        @Override
         public Chronology getChronology() {
             return COPTIC_UTC;
         }
+        @Override
         public DateTimeField[] getFields() {
             return new DateTimeField[] {
                 COPTIC_UTC.year(),
                 COPTIC_UTC.monthOfYear(),
             };
         }
+        @Override
         public int[] getValues() {
             return new int[] {1970, 6};
         }
diff --git a/src/test/java/org/joda/time/TestYearMonth_Constructors.java b/src/test/java/org/joda/time/TestYearMonth_Constructors.java
index 34364fb4..7c918022 100644
--- a/src/test/java/org/joda/time/TestYearMonth_Constructors.java
+++ b/src/test/java/org/joda/time/TestYearMonth_Constructors.java
@@ -67,12 +67,14 @@ public class TestYearMonth_Constructors extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(LONDON);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestYearMonth_Properties.java b/src/test/java/org/joda/time/TestYearMonth_Properties.java
index bed43a6e..13bc945b 100644
--- a/src/test/java/org/joda/time/TestYearMonth_Properties.java
+++ b/src/test/java/org/joda/time/TestYearMonth_Properties.java
@@ -63,6 +63,7 @@ public class TestYearMonth_Properties extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         zone = DateTimeZone.getDefault();
@@ -71,6 +72,7 @@ public class TestYearMonth_Properties extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(zone);
diff --git a/src/test/java/org/joda/time/TestYears.java b/src/test/java/org/joda/time/TestYears.java
index 5ba7c2f8..25839c6b 100644
--- a/src/test/java/org/joda/time/TestYears.java
+++ b/src/test/java/org/joda/time/TestYears.java
@@ -45,9 +45,11 @@ public class TestYears extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/chrono/TestBuddhistChronology.java b/src/test/java/org/joda/time/chrono/TestBuddhistChronology.java
index 665d6784..e294f9d7 100644
--- a/src/test/java/org/joda/time/chrono/TestBuddhistChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestBuddhistChronology.java
@@ -71,6 +71,7 @@ public class TestBuddhistChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -81,6 +82,7 @@ public class TestBuddhistChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestCopticChronology.java b/src/test/java/org/joda/time/chrono/TestCopticChronology.java
index 008393a0..0152efb2 100644
--- a/src/test/java/org/joda/time/chrono/TestCopticChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestCopticChronology.java
@@ -74,6 +74,7 @@ public class TestCopticChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -84,6 +85,7 @@ public class TestCopticChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestEthiopicChronology.java b/src/test/java/org/joda/time/chrono/TestEthiopicChronology.java
index f7ee2b2e..3c736060 100644
--- a/src/test/java/org/joda/time/chrono/TestEthiopicChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestEthiopicChronology.java
@@ -74,6 +74,7 @@ public class TestEthiopicChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -84,6 +85,7 @@ public class TestEthiopicChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestGJChronology.java b/src/test/java/org/joda/time/chrono/TestGJChronology.java
index 9892af6f..32999ae3 100644
--- a/src/test/java/org/joda/time/chrono/TestGJChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestGJChronology.java
@@ -71,6 +71,7 @@ public class TestGJChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -81,6 +82,7 @@ public class TestGJChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestGJDate.java b/src/test/java/org/joda/time/chrono/TestGJDate.java
index ba2a1fbc..541d1815 100644
--- a/src/test/java/org/joda/time/chrono/TestGJDate.java
+++ b/src/test/java/org/joda/time/chrono/TestGJDate.java
@@ -39,9 +39,11 @@ public class TestGJDate extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/chrono/TestGregorianChronology.java b/src/test/java/org/joda/time/chrono/TestGregorianChronology.java
index 31fd5043..ea040d3c 100644
--- a/src/test/java/org/joda/time/chrono/TestGregorianChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestGregorianChronology.java
@@ -65,6 +65,7 @@ public class TestGregorianChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -75,6 +76,7 @@ public class TestGregorianChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestISOChronology.java b/src/test/java/org/joda/time/chrono/TestISOChronology.java
index 886c0ce7..0fdb4ae5 100644
--- a/src/test/java/org/joda/time/chrono/TestISOChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestISOChronology.java
@@ -71,6 +71,7 @@ public class TestISOChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -81,6 +82,7 @@ public class TestISOChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestIslamicChronology.java b/src/test/java/org/joda/time/chrono/TestIslamicChronology.java
index f2a2bfbd..74fe6c30 100644
--- a/src/test/java/org/joda/time/chrono/TestIslamicChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestIslamicChronology.java
@@ -71,6 +71,7 @@ public class TestIslamicChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -81,6 +82,7 @@ public class TestIslamicChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestJulianChronology.java b/src/test/java/org/joda/time/chrono/TestJulianChronology.java
index 97f78a07..5a318299 100644
--- a/src/test/java/org/joda/time/chrono/TestJulianChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestJulianChronology.java
@@ -62,6 +62,7 @@ public class TestJulianChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -72,6 +73,7 @@ public class TestJulianChronology extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/chrono/TestLenientChronology.java b/src/test/java/org/joda/time/chrono/TestLenientChronology.java
index ae121244..deb8e32a 100644
--- a/src/test/java/org/joda/time/chrono/TestLenientChronology.java
+++ b/src/test/java/org/joda/time/chrono/TestLenientChronology.java
@@ -41,9 +41,11 @@ public class TestLenientChronology extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJChronology.java b/src/test/java/org/joda/time/chrono/gj/TestGJChronology.java
index ee7330c9..281acad5 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJChronology.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJChronology.java
@@ -91,10 +91,12 @@ abstract class TestGJChronology extends BaseChronology {
         iEpochMillis = fixedFromGJ(epochYear, epochMonth, epochDay) * MILLIS_PER_DAY;
     }
 
+    @Override
     public DateTimeZone getZone() {
         return null;
     }
 
+    @Override
     public Chronology withUTC() {
         return this;
     }
@@ -102,6 +104,7 @@ abstract class TestGJChronology extends BaseChronology {
     /**
      * Unsupported.
      */
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         throw new UnsupportedOperationException();
     }
@@ -114,50 +117,62 @@ abstract class TestGJChronology extends BaseChronology {
         return millis - mod(millis, MILLIS_PER_DAY);
     }
 
+    @Override
     public DurationField days() {
         return dayOfWeek().getDurationField();
     }
 
+    @Override
     public DateTimeField dayOfWeek() {
         return new TestGJDayOfWeekField(this);
     }
 
+    @Override
     public DateTimeField dayOfMonth() {
         return new TestGJDayOfMonthField(this); 
     }
 
+    @Override
     public DateTimeField dayOfYear() {
         return new TestGJDayOfYearField(this);
     }
 
+    @Override
     public DurationField weeks() {
         return weekOfWeekyear().getDurationField();
     }
 
+    @Override
     public DateTimeField weekOfWeekyear() {
         return new TestGJWeekOfWeekyearField(this);
     }
 
+    @Override
     public DurationField weekyears() {
         return weekyear().getDurationField();
     }
 
+    @Override
     public DateTimeField weekyear() {
         return new TestGJWeekyearField(this);
     }
 
+    @Override
     public DurationField months() {
         return monthOfYear().getDurationField();
     }
 
+    @Override
     public DateTimeField monthOfYear() {
         return new TestGJMonthOfYearField(this);
     }
 
+    @Override
     public DurationField years() {
         return year().getDurationField();
     }
 
+    @Override
     public DateTimeField year() {
         return new TestGJYearField(this);
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJDateTimeField.java b/src/test/java/org/joda/time/chrono/gj/TestGJDateTimeField.java
index 3688d4bc..a86d07cd 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJDateTimeField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJDateTimeField.java
@@ -30,14 +30,17 @@ abstract class TestGJDateTimeField extends ImpreciseDateTimeField {
         iChronology = chrono;
     }
 
+    @Override
     public boolean isLenient() {
         return false;
     }
 
+    @Override
     public long add(long instant, int value) {
         return add(instant, (long)value);
     }
 
+    @Override
     public abstract long add(long instant, long value);
 
 }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJDayOfMonthField.java b/src/test/java/org/joda/time/chrono/gj/TestGJDayOfMonthField.java
index 36c347e7..424b5b2c 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJDayOfMonthField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJDayOfMonthField.java
@@ -27,32 +27,39 @@ class TestGJDayOfMonthField extends TestGJDateTimeField {
         super(DateTimeFieldType.dayOfMonth(), TestGJChronology.MILLIS_PER_DAY, chrono);
     }
 
+    @Override
     public int get(long millis) {
         return iChronology.gjFromMillis(millis)[2];
     }
 
+    @Override
     public long set(long millis, int value) {
         int[] ymd = iChronology.gjFromMillis(millis);
         return iChronology.getTimeOnlyMillis(millis)
             + iChronology.millisFromGJ(ymd[0], ymd[1], value);
     }
 
+    @Override
     public long add(long millis, long value) {
         return millis + value * TestGJChronology.MILLIS_PER_DAY;
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.months();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return 31;
     }
 
+    @Override
     public int getMaximumValue(long millis) {
         int[] lengths = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
         if (iChronology.year().isLeap(millis)) {
@@ -61,6 +68,7 @@ class TestGJDayOfMonthField extends TestGJDateTimeField {
         return lengths[iChronology.monthOfYear().get(millis)];
     }
 
+    @Override
     public long roundFloor(long millis) {
         return iChronology.getDateOnlyMillis(millis);
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJDayOfWeekField.java b/src/test/java/org/joda/time/chrono/gj/TestGJDayOfWeekField.java
index 53660ac9..0011cde6 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJDayOfWeekField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJDayOfWeekField.java
@@ -27,6 +27,7 @@ class TestGJDayOfWeekField extends TestGJDateTimeField {
         super(DateTimeFieldType.dayOfWeek(), TestGJChronology.MILLIS_PER_DAY, chrono);
     }
 
+    @Override
     public int get(long millis) {
         int dayOfWeek = (int) TestGJChronology.mod(iChronology.fixedFromMillis(millis), 7);
         if (dayOfWeek == 0) {
@@ -35,26 +36,32 @@ class TestGJDayOfWeekField extends TestGJDateTimeField {
         return dayOfWeek;
     }
 
+    @Override
     public long set(long millis, int value) {
         return add(millis, (long) value - get(millis));
     }
 
+    @Override
     public long add(long millis, long value) {
         return millis + value * TestGJChronology.MILLIS_PER_DAY;
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.weeks();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return 7;
     }
 
+    @Override
     public long roundFloor(long millis) {
         return iChronology.getDateOnlyMillis(millis);
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJDayOfYearField.java b/src/test/java/org/joda/time/chrono/gj/TestGJDayOfYearField.java
index 8fa93163..c7e354ed 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJDayOfYearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJDayOfYearField.java
@@ -27,36 +27,44 @@ class TestGJDayOfYearField extends TestGJDateTimeField {
         super(DateTimeFieldType.dayOfYear(), TestGJChronology.MILLIS_PER_DAY, chrono);
     }
 
+    @Override
     public int get(long millis) {
         int year = iChronology.gjYearFromMillis(millis);
         return (int)(iChronology.fixedFromMillis(millis)
                      - iChronology.fixedFromGJ(year, 1, 1)) + 1;
     }
 
+    @Override
     public long set(long millis, int value) {
         return add(millis, (long) value - get(millis));
     }
 
+    @Override
     public long add(long millis, long value) {
         return millis + value * TestGJChronology.MILLIS_PER_DAY;
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.years();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return 366;
     }
 
+    @Override
     public int getMaximumValue(long millis) {
         return iChronology.year().isLeap(millis) ? 366 : 365;
     }
 
+    @Override
     public long roundFloor(long millis) {
         return iChronology.getDateOnlyMillis(millis);
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJMonthOfYearField.java b/src/test/java/org/joda/time/chrono/gj/TestGJMonthOfYearField.java
index 42219073..01087931 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJMonthOfYearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJMonthOfYearField.java
@@ -27,10 +27,12 @@ class TestGJMonthOfYearField extends TestGJDateTimeField {
         super(DateTimeFieldType.monthOfYear(), chrono.millisPerMonth(), chrono);
     }
 
+    @Override
     public int get(long millis) {
         return iChronology.gjFromMillis(millis)[1];
     }
 
+    @Override
     public long set(long millis, int value) {
         long timeOnlyMillis = iChronology.getTimeOnlyMillis(millis);
         int[] ymd = iChronology.gjFromMillis(millis);
@@ -44,6 +46,7 @@ class TestGJMonthOfYearField extends TestGJDateTimeField {
         return timeOnlyMillis + iChronology.millisFromGJ(ymd[0], value, ymd[2]);
     }
 
+    @Override
     public long add(long millis, long value) {
         int newYear = iChronology.year().get(millis)
             + (int)TestGJChronology.div(value, 12);
@@ -61,31 +64,38 @@ class TestGJMonthOfYearField extends TestGJDateTimeField {
         return millis;
     }
 
+    @Override
     public boolean isLeap(long millis) {
         int[] ymd = iChronology.gjFromMillis(millis);
         return ymd[1] == 2 && iChronology.isLeapYear(ymd[0]);
     }
 
+    @Override
     public int getLeapAmount(long millis) {
         return isLeap(millis) ? 1 : 0;
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return iChronology.days();
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.years();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return 12;
     }
 
+    @Override
     public long roundFloor(long millis) {
         int[] ymd = iChronology.gjFromMillis(millis);
         return iChronology.millisFromGJ(ymd[0], ymd[1], 1);
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJWeekOfWeekyearField.java b/src/test/java/org/joda/time/chrono/gj/TestGJWeekOfWeekyearField.java
index b9830e90..8061e37c 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJWeekOfWeekyearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJWeekOfWeekyearField.java
@@ -28,32 +28,39 @@ class TestGJWeekOfWeekyearField extends TestGJDateTimeField {
               (long)(TestGJChronology.MILLIS_PER_DAY * 7), chrono);
     }
 
+    @Override
     public int get(long millis) {
         return iChronology.isoFromMillis(millis)[1];
     }
 
+    @Override
     public long set(long millis, int value) {
         int[] wwd = iChronology.isoFromMillis(millis);
         return iChronology.getTimeOnlyMillis(millis)
             + iChronology.millisFromISO(wwd[0], value, wwd[2]);
     }
 
+    @Override
     public long add(long millis, long value) {
         return iChronology.dayOfYear().add(millis, value * 7);
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return iChronology.weeks();
     }
 
+    @Override
     public int getMinimumValue() {
         return 1;
     }
 
+    @Override
     public int getMaximumValue() {
         return 53;
     }
 
+    @Override
     public int getMaximumValue(long millis) {
         // Move millis to end of weekyear.
         millis = iChronology.weekyear().roundFloor(millis);
@@ -62,6 +69,7 @@ class TestGJWeekOfWeekyearField extends TestGJDateTimeField {
         return get(millis);
     }
 
+    @Override
     public long roundFloor(long millis) {
         int[] wwd = iChronology.isoFromMillis(millis);
         return iChronology.millisFromISO(wwd[0], wwd[1], 1);
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJWeekyearField.java b/src/test/java/org/joda/time/chrono/gj/TestGJWeekyearField.java
index 39e3503c..518730fd 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJWeekyearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJWeekyearField.java
@@ -27,10 +27,12 @@ class TestGJWeekyearField extends TestGJDateTimeField {
         super(DateTimeFieldType.weekyear(), chrono.millisPerYear(), chrono);
     }
 
+    @Override
     public int get(long millis) {
         return iChronology.isoFromMillis(millis)[0];
     }
 
+    @Override
     public long set(long millis, int value) {
         int[] wwd = iChronology.isoFromMillis(millis);
         millis = iChronology.getTimeOnlyMillis(millis)
@@ -45,34 +47,42 @@ class TestGJWeekyearField extends TestGJDateTimeField {
         return millis;
     }
 
+    @Override
     public long add(long millis, long value) {
         return set(millis, (int)(get(millis) + value));
     }
 
+    @Override
     public boolean isLeap(long millis) {
         return iChronology.weekOfWeekyear().getMaximumValue(millis) > 52;
     }
 
+    @Override
     public int getLeapAmount(long millis) {
         return iChronology.weekOfWeekyear().getMaximumValue(millis) - 52;
     } 
 
+    @Override
     public DurationField getLeapDurationField() {
         return iChronology.weeks();
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
 
+    @Override
     public int getMinimumValue() {
         return -100000000;
     }
 
+    @Override
     public int getMaximumValue() {
         return 100000000;
     }
 
+    @Override
     public long roundFloor(long millis) {
         return iChronology.millisFromISO(get(millis), 1, 1);
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGJYearField.java b/src/test/java/org/joda/time/chrono/gj/TestGJYearField.java
index d01e3721..9672538b 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGJYearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGJYearField.java
@@ -27,10 +27,12 @@ class TestGJYearField extends TestGJDateTimeField {
         super(DateTimeFieldType.year(), chrono.millisPerYear(), chrono);
     }
 
+    @Override
     public int get(long millis) {
         return iChronology.gjYearFromMillis(millis);
     }
 
+    @Override
     public long set(long millis, int value) {
         int[] ymd = iChronology.gjFromMillis(millis);
         millis = iChronology.getTimeOnlyMillis(millis)
@@ -41,34 +43,42 @@ class TestGJYearField extends TestGJDateTimeField {
         return millis;
     }
 
+    @Override
     public long add(long millis, long value) {
         return set(millis, (int)(get(millis) + value));
     }
 
+    @Override
     public boolean isLeap(long millis) {
         return iChronology.isLeapYear(get(millis));
     }
 
+    @Override
     public int getLeapAmount(long millis) {
         return isLeap(millis) ? 1 : 0;
     }
 
+    @Override
     public DurationField getLeapDurationField() {
         return iChronology.days();
     }
 
+    @Override
     public DurationField getRangeDurationField() {
         return null;
     }
 
+    @Override
     public int getMinimumValue() {
         return -100000000;
     }
 
+    @Override
     public int getMaximumValue() {
         return 100000000;
     }
 
+    @Override
     public long roundFloor(long millis) {
         return iChronology.millisFromGJ(get(millis), 1, 1);
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestGregorianChronology.java b/src/test/java/org/joda/time/chrono/gj/TestGregorianChronology.java
index a871f935..6e7c4127 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestGregorianChronology.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestGregorianChronology.java
@@ -35,18 +35,22 @@ public final class TestGregorianChronology extends TestGJChronology {
         super(epochYear, epochMonth, epochDay);
     }
 
+    @Override
     public String toString() {
         return "TestGregorianChronology";
     }
 
+    @Override
     long millisPerYear() {
         return (long)(365.2425 * MILLIS_PER_DAY);
     }
 
+    @Override
     long millisPerMonth() {
         return (long)(365.2425 * MILLIS_PER_DAY / 12);
     }
 
+    @Override
     boolean isLeapYear(int year) {
         if (mod(year, 4) == 0) {
             int t = (int)mod(year, 400);
@@ -60,6 +64,7 @@ public final class TestGregorianChronology extends TestGJChronology {
     /**
      * @return days from 0001-01-01
      */
+    @Override
     long fixedFromGJ(int year, int monthOfYear, int dayOfMonth) {
         long year_m1 = year - 1;
         long f = 365 * year_m1 + div(year_m1, 4) - div(year_m1, 100)
@@ -74,6 +79,7 @@ public final class TestGregorianChronology extends TestGJChronology {
      * @param date days from 0001-01-01
      * @return gj year
      */
+    @Override
     int gjYearFromFixed(long date) {
         long d0 = date - 1;
         long n400 = div(d0, 146097);
@@ -100,6 +106,7 @@ public final class TestGregorianChronology extends TestGJChronology {
      * @param date days from 0001-01-01
      * @return gj year, monthOfYear, dayOfMonth
      */
+    @Override
     int[] gjFromFixed(long date) {
         int year = gjYearFromFixed(date);
         long priorDays = date - fixedFromGJ(year, 1, 1);
@@ -117,6 +124,7 @@ public final class TestGregorianChronology extends TestGJChronology {
         return new int[]{year, monthOfYear, day};
     }
 
+    @Override
     long fixedFromISO(int weekyear, int weekOfWeekyear, int dayOfWeek) {
         return nthWeekday(weekOfWeekyear, 0, weekyear - 1, 12, 28) + dayOfWeek;
     }
@@ -125,6 +133,7 @@ public final class TestGregorianChronology extends TestGJChronology {
      * @param date days from 0001-01-01
      * @return iso weekyear, weekOfWeekyear, dayOfWeek (1=Monday to 7)
      */
+    @Override
     int[] isoFromFixed(long date) {
         int weekyear = gjYearFromFixed(date - 3);
         if (date >= fixedFromISO(weekyear + 1, 1, 1)) {
diff --git a/src/test/java/org/joda/time/chrono/gj/TestJulianChronology.java b/src/test/java/org/joda/time/chrono/gj/TestJulianChronology.java
index 14ca7f2a..6c8e4fda 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestJulianChronology.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestJulianChronology.java
@@ -45,34 +45,42 @@ public final class TestJulianChronology extends TestGJChronology {
         super(epochYear, epochMonth, epochDay);
     }
 
+    @Override
     public DateTimeField dayOfMonth() {
         return new TestJulianDayOfMonthField(this); 
     }
 
+    @Override
     public DateTimeField weekyear() {
         return new TestJulianWeekyearField(this);
     }
 
+    @Override
     public DateTimeField monthOfYear() {
         return new TestJulianMonthOfYearField(this);
     }
 
+    @Override
     public DateTimeField year() {
         return new TestJulianYearField(this);
     }
 
+    @Override
     public String toString() {
         return "TestJulianChronology";
     }
 
+    @Override
     long millisPerYear() {
         return (long)(365.25 * MILLIS_PER_DAY);
     }
 
+    @Override
     long millisPerMonth() {
         return (long)(365.25 * MILLIS_PER_DAY / 12);
     }
 
+    @Override
     boolean isLeapYear(int year) {
         if (year == 0) {
             throw new IllegalArgumentException("Illegal year: " + year);
@@ -83,6 +91,7 @@ public final class TestJulianChronology extends TestGJChronology {
     /**
      * @return days from 0001-01-01
      */
+    @Override
     long fixedFromGJ(int year, int monthOfYear, int dayOfMonth) {
         if (year == 0) {
             throw new IllegalArgumentException("Illegal year: " + year);
@@ -101,6 +110,7 @@ public final class TestJulianChronology extends TestGJChronology {
      * @param date days from 0001-01-01
      * @return gj year
      */
+    @Override
     int gjYearFromFixed(long date) {
         return gjFromFixed(date)[0];
     }
@@ -109,6 +119,7 @@ public final class TestJulianChronology extends TestGJChronology {
      * @param date days from 0001-01-01
      * @return gj year, monthOfYear, dayOfMonth
      */
+    @Override
     int[] gjFromFixed(long date) {
         long approx = div(4 * (date - JULIAN_EPOCH) + 1464, 1461);
         long year = (approx <= 0) ? approx - 1 : approx;
@@ -131,6 +142,7 @@ public final class TestJulianChronology extends TestGJChronology {
         return new int[]{year_i, monthOfYear, day};
     }
 
+    @Override
     long fixedFromISO(int weekyear, int weekOfWeekyear, int dayOfWeek) {
         if (weekyear == 0) {
             throw new IllegalArgumentException("Illegal weekyear: " + weekyear);
@@ -147,6 +159,7 @@ public final class TestJulianChronology extends TestGJChronology {
      * @param date days from 0001-01-01
      * @return iso weekyear, weekOfWeekyear, dayOfWeek (1=Monday to 7)
      */
+    @Override
     int[] isoFromFixed(long date) {
         int weekyear = gjYearFromFixed(date - 3);
         int nextWeekyear;
diff --git a/src/test/java/org/joda/time/chrono/gj/TestJulianMonthOfYearField.java b/src/test/java/org/joda/time/chrono/gj/TestJulianMonthOfYearField.java
index 275fa088..f2830a6b 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestJulianMonthOfYearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestJulianMonthOfYearField.java
@@ -24,10 +24,12 @@ class TestJulianMonthOfYearField extends TestGJMonthOfYearField {
         super(chrono);
     }
 
+    @Override
     public int get(long millis) {
         return iChronology.gjFromMillis(millis)[1];
     }
 
+    @Override
     public long add(long millis, long value) {
         int year = iChronology.year().get(millis);
         int newYear = year + (int)TestGJChronology.div(value, 12);
diff --git a/src/test/java/org/joda/time/chrono/gj/TestJulianWeekyearField.java b/src/test/java/org/joda/time/chrono/gj/TestJulianWeekyearField.java
index 487cb320..003b2d43 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestJulianWeekyearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestJulianWeekyearField.java
@@ -26,6 +26,7 @@ class TestJulianWeekyearField extends TestGJWeekyearField {
         super(chrono);
     }
 
+    @Override
     public long addWrapField(long millis, int value) {
         int weekyear = get(millis);
         int wrapped = FieldUtils.getWrappedValue
@@ -33,6 +34,7 @@ class TestJulianWeekyearField extends TestGJWeekyearField {
         return add(millis, (long) wrapped - weekyear);
     }
 
+    @Override
     public long add(long millis, long value) {
         int weekyear = get(millis);
         int newWeekyear = weekyear + FieldUtils.safeToInt(value);
@@ -48,10 +50,12 @@ class TestJulianWeekyearField extends TestGJWeekyearField {
         return set(millis, newWeekyear);
     }
 
+    @Override
     public int getMinimumValue() {
         return -100000000;
     }
 
+    @Override
     public int getMaximumValue() {
         return 100000000;
     }
diff --git a/src/test/java/org/joda/time/chrono/gj/TestJulianYearField.java b/src/test/java/org/joda/time/chrono/gj/TestJulianYearField.java
index e1d658f5..2079f33d 100644
--- a/src/test/java/org/joda/time/chrono/gj/TestJulianYearField.java
+++ b/src/test/java/org/joda/time/chrono/gj/TestJulianYearField.java
@@ -26,6 +26,7 @@ class TestJulianYearField extends TestGJYearField {
         super(chrono);
     }
 
+    @Override
     public long addWrapField(long millis, int value) {
         int year = get(millis);
         int wrapped = FieldUtils.getWrappedValue
@@ -33,6 +34,7 @@ class TestJulianYearField extends TestGJYearField {
         return add(millis, (long) wrapped - year);
     }
 
+    @Override
     public long add(long millis, long value) {
         int year = get(millis);
         int newYear = year + FieldUtils.safeToInt(value);
@@ -48,10 +50,12 @@ class TestJulianYearField extends TestGJYearField {
         return set(millis, newYear);
     }
 
+    @Override
     public int getMinimumValue() {
         return -100000000;
     }
 
+    @Override
     public int getMaximumValue() {
         return 100000000;
     }
diff --git a/src/test/java/org/joda/time/convert/MockBadChronology.java b/src/test/java/org/joda/time/convert/MockBadChronology.java
index dcff2a9b..f2be871b 100644
--- a/src/test/java/org/joda/time/convert/MockBadChronology.java
+++ b/src/test/java/org/joda/time/convert/MockBadChronology.java
@@ -30,16 +30,20 @@ class MockBadChronology extends BaseChronology {
         super();
     }
 
+    @Override
     public Chronology withZone(DateTimeZone zone) {
         return null;
     }
     
+    @Override
     public DateTimeZone getZone() {
         return null;
     }
+    @Override
     public Chronology withUTC() {
         return null;
     }
+    @Override
     public String toString() {
         return null;
     }
diff --git a/src/test/java/org/joda/time/convert/MockUnknownCalendar.java b/src/test/java/org/joda/time/convert/MockUnknownCalendar.java
index c3f96620..439f86e3 100644
--- a/src/test/java/org/joda/time/convert/MockUnknownCalendar.java
+++ b/src/test/java/org/joda/time/convert/MockUnknownCalendar.java
@@ -35,30 +35,40 @@ class MockUnknownCalendar extends Calendar {
         this.zone = zone;
     }
     
+    @Override
     public long getTimeInMillis() {
         return millis;
     }
+    @Override
     public TimeZone getTimeZone() {
         return zone;
     }
 
+    @Override
     protected void computeTime() {
     }
+    @Override
     protected void computeFields() {
     }
+    @Override
     public void add(int field, int amount) {
     }
+    @Override
     public void roll(int field, boolean up) {
     }
+    @Override
     public int getMinimum(int field) {
         return 0;
     }
+    @Override
     public int getMaximum(int field) {
         return 0;
     }
+    @Override
     public int getGreatestMinimum(int field) {
         return 0;
     }
+    @Override
     public int getLeastMaximum(int field) {
         return 0;
     }
diff --git a/src/test/java/org/joda/time/convert/MockUnknownTimeZone.java b/src/test/java/org/joda/time/convert/MockUnknownTimeZone.java
index 73a0bd91..081dd072 100644
--- a/src/test/java/org/joda/time/convert/MockUnknownTimeZone.java
+++ b/src/test/java/org/joda/time/convert/MockUnknownTimeZone.java
@@ -30,24 +30,31 @@ class MockUnknownTimeZone extends TimeZone {
         super();
     }
     
+    @Override
     public String getID() {
         return "!!!";
     }
+    @Override
     public String getDisplayName(boolean daylight, int style, Locale locale) {
         return "!!!";
     }
 
+    @Override
     public int getOffset(int era, int year, int month, int day, int dayOfWeek, int milliseconds) {
         return 0;
     }
+    @Override
     public void setRawOffset(int offsetMillis) {
     }
+    @Override
     public int getRawOffset() {
         return 0;
     }
+    @Override
     public boolean useDaylightTime() {
         return false;
     }
+    @Override
     public boolean inDaylightTime(Date date) {
         return false;
     }
diff --git a/src/test/java/org/joda/time/convert/TestCalendarConverter.java b/src/test/java/org/joda/time/convert/TestCalendarConverter.java
index 3f76db13..3d01f851 100644
--- a/src/test/java/org/joda/time/convert/TestCalendarConverter.java
+++ b/src/test/java/org/joda/time/convert/TestCalendarConverter.java
@@ -60,6 +60,7 @@ public class TestCalendarConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         ISO = ISOChronology.getInstance();
diff --git a/src/test/java/org/joda/time/convert/TestConverterManager.java b/src/test/java/org/joda/time/convert/TestConverterManager.java
index d72ae807..06926f64 100644
--- a/src/test/java/org/joda/time/convert/TestConverterManager.java
+++ b/src/test/java/org/joda/time/convert/TestConverterManager.java
@@ -76,13 +76,16 @@ public class TestConverterManager extends TestCase {
     static {
         // don't call Policy.getPolicy()
         RESTRICT = new Policy() {
+            @Override
             public PermissionCollection getPermissions(CodeSource codesource) {
                 Permissions p = new Permissions();
                 p.add(new AllPermission());  // enable everything
                 return p;
             }
+            @Override
             public void refresh() {
             }
+            @Override
             public boolean implies(ProtectionDomain domain, Permission permission) {
                 if (permission instanceof JodaTimePermission) {
                     return false;
@@ -92,11 +95,13 @@ public class TestConverterManager extends TestCase {
             }
         };
         ALLOW = new Policy() {
+            @Override
             public PermissionCollection getPermissions(CodeSource codesource) {
                 Permissions p = new Permissions();
                 p.add(new AllPermission());  // enable everything
                 return p;
             }
+            @Override
             public void refresh() {
             }
         };
diff --git a/src/test/java/org/joda/time/convert/TestDateConverter.java b/src/test/java/org/joda/time/convert/TestDateConverter.java
index ba4d1b5e..a928abd6 100644
--- a/src/test/java/org/joda/time/convert/TestDateConverter.java
+++ b/src/test/java/org/joda/time/convert/TestDateConverter.java
@@ -56,6 +56,7 @@ public class TestDateConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         COPTIC = CopticChronology.getInstance();
diff --git a/src/test/java/org/joda/time/convert/TestLongConverter.java b/src/test/java/org/joda/time/convert/TestLongConverter.java
index e7cbe49c..f2c67e7c 100644
--- a/src/test/java/org/joda/time/convert/TestLongConverter.java
+++ b/src/test/java/org/joda/time/convert/TestLongConverter.java
@@ -56,6 +56,7 @@ public class TestLongConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         ISO = ISOChronology.getInstance();
diff --git a/src/test/java/org/joda/time/convert/TestNullConverter.java b/src/test/java/org/joda/time/convert/TestNullConverter.java
index 2319fe0f..2881930d 100644
--- a/src/test/java/org/joda/time/convert/TestNullConverter.java
+++ b/src/test/java/org/joda/time/convert/TestNullConverter.java
@@ -75,6 +75,7 @@ public class TestNullConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -88,6 +89,7 @@ public class TestNullConverter extends TestCase {
         JULIAN = JulianChronology.getInstance();
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/convert/TestReadableInstantConverter.java b/src/test/java/org/joda/time/convert/TestReadableInstantConverter.java
index 8b73241c..097960a7 100644
--- a/src/test/java/org/joda/time/convert/TestReadableInstantConverter.java
+++ b/src/test/java/org/joda/time/convert/TestReadableInstantConverter.java
@@ -60,6 +60,7 @@ public class TestReadableInstantConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         ISO = ISOChronology.getInstance();
@@ -107,6 +108,7 @@ public class TestReadableInstantConverter extends TestCase {
         assertEquals(ISO_PARIS, ReadableInstantConverter.INSTANCE.getChronology(new DateTime(123L, new MockBadChronology()), PARIS));
         
         MutableDateTime mdt = new MutableDateTime() {
+            @Override
             public Chronology getChronology() {
                 return null; // bad
             }
@@ -119,6 +121,7 @@ public class TestReadableInstantConverter extends TestCase {
         assertEquals(ISO, ReadableInstantConverter.INSTANCE.getChronology(new DateTime(123L), (Chronology) null));
         
         MutableDateTime mdt = new MutableDateTime() {
+            @Override
             public Chronology getChronology() {
                 return null; // bad
             }
diff --git a/src/test/java/org/joda/time/convert/TestReadableIntervalConverter.java b/src/test/java/org/joda/time/convert/TestReadableIntervalConverter.java
index 709d6a90..4b7b40e3 100644
--- a/src/test/java/org/joda/time/convert/TestReadableIntervalConverter.java
+++ b/src/test/java/org/joda/time/convert/TestReadableIntervalConverter.java
@@ -62,6 +62,7 @@ public class TestReadableIntervalConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         ISO = ISOChronology.getInstance();
@@ -156,6 +157,7 @@ public class TestReadableIntervalConverter extends TestCase {
 
     public void testSetIntoInterval_Object3() throws Exception {
         MutableInterval i = new MutableInterval(0L, 123L) {
+            @Override
             public Chronology getChronology() {
                 return null; // bad
             }
@@ -169,6 +171,7 @@ public class TestReadableIntervalConverter extends TestCase {
 
     public void testSetIntoInterval_Object4() throws Exception {
         MutableInterval i = new MutableInterval(0L, 123L) {
+            @Override
             public Chronology getChronology() {
                 return null; // bad
             }
diff --git a/src/test/java/org/joda/time/convert/TestReadablePartialConverter.java b/src/test/java/org/joda/time/convert/TestReadablePartialConverter.java
index 285099b1..3650be2d 100644
--- a/src/test/java/org/joda/time/convert/TestReadablePartialConverter.java
+++ b/src/test/java/org/joda/time/convert/TestReadablePartialConverter.java
@@ -62,6 +62,7 @@ public class TestReadablePartialConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         ISO = ISOChronology.getInstance();
@@ -121,6 +122,7 @@ public class TestReadablePartialConverter extends TestCase {
     }
 
     static class MockTOD extends BasePartial {
+        @Override
         protected DateTimeField getField(int index, Chronology chrono) {
             switch (index) {
                 case 0:
diff --git a/src/test/java/org/joda/time/convert/TestReadablePeriodConverter.java b/src/test/java/org/joda/time/convert/TestReadablePeriodConverter.java
index 8ec08185..2c4ef632 100644
--- a/src/test/java/org/joda/time/convert/TestReadablePeriodConverter.java
+++ b/src/test/java/org/joda/time/convert/TestReadablePeriodConverter.java
@@ -58,6 +58,7 @@ public class TestReadablePeriodConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         JULIAN = JulianChronology.getInstance();
         ISO = ISOChronology.getInstance();
diff --git a/src/test/java/org/joda/time/convert/TestStringConverter.java b/src/test/java/org/joda/time/convert/TestStringConverter.java
index 826c1137..3f569769 100644
--- a/src/test/java/org/joda/time/convert/TestStringConverter.java
+++ b/src/test/java/org/joda/time/convert/TestStringConverter.java
@@ -70,6 +70,7 @@ public class TestStringConverter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         zone = DateTimeZone.getDefault();
         locale = Locale.getDefault();
@@ -80,6 +81,7 @@ public class TestStringConverter extends TestCase {
         ISO = ISOChronology.getInstance();
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(zone);
         Locale.setDefault(locale);
diff --git a/src/test/java/org/joda/time/field/TestBaseDateTimeField.java b/src/test/java/org/joda/time/field/TestBaseDateTimeField.java
index 26965a93..b7f1d093 100644
--- a/src/test/java/org/joda/time/field/TestBaseDateTimeField.java
+++ b/src/test/java/org/joda/time/field/TestBaseDateTimeField.java
@@ -49,9 +49,11 @@ public class TestBaseDateTimeField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
@@ -423,6 +425,7 @@ public class TestBaseDateTimeField extends TestCase {
         assertEquals(2, field.getMaximumTextLength(Locale.ENGLISH));
 
         field = new MockBaseDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return 5;
             }
@@ -430,6 +433,7 @@ public class TestBaseDateTimeField extends TestCase {
         assertEquals(1, field.getMaximumTextLength(Locale.ENGLISH));
         
         field = new MockBaseDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return 555;
             }
@@ -437,6 +441,7 @@ public class TestBaseDateTimeField extends TestCase {
         assertEquals(3, field.getMaximumTextLength(Locale.ENGLISH));
         
         field = new MockBaseDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return 5555;
             }
@@ -444,6 +449,7 @@ public class TestBaseDateTimeField extends TestCase {
         assertEquals(4, field.getMaximumTextLength(Locale.ENGLISH));
         
         field = new MockBaseDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return -1;
             }
@@ -522,27 +528,35 @@ public class TestBaseDateTimeField extends TestCase {
         protected MockBaseDateTimeField(DateTimeFieldType type) {
             super(type);
         }
+        @Override
         public int get(long instant) {
             return (int) (instant / 60L);
         }
+        @Override
         public long set(long instant, int value) {
             return 1000 + value;
         }
+        @Override
         public DurationField getDurationField() {
             return new MockCountingDurationField(DurationFieldType.seconds());
         }
+        @Override
         public DurationField getRangeDurationField() {
             return new MockCountingDurationField(DurationFieldType.minutes());
         }
+        @Override
         public int getMinimumValue() {
             return 0;
         }
+        @Override
         public int getMaximumValue() {
             return 59;
         }
+        @Override
         public long roundFloor(long instant) {
             return (instant / 60L) * 60L;
         }
+        @Override
         public boolean isLenient() {
             return false;
         }
@@ -552,9 +566,11 @@ public class TestBaseDateTimeField extends TestCase {
         protected MockStandardBaseDateTimeField() {
             super();
         }
+        @Override
         public DurationField getDurationField() {
             return ISOChronology.getInstanceUTC().seconds();
         }
+        @Override
         public DurationField getRangeDurationField() {
             return ISOChronology.getInstanceUTC().minutes();
         }
@@ -569,29 +585,37 @@ public class TestBaseDateTimeField extends TestCase {
         protected MockCountingDurationField(DurationFieldType type) {
             super(type);
         }
+        @Override
         public boolean isPrecise() {
             return false;
         }
+        @Override
         public long getUnitMillis() {
             return 0;
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             add_int++;
             return instant + (value * 60L);
         }
+        @Override
         public long add(long instant, long value) {
             add_long++;
             return instant + (value * 60L);
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             difference_long++;
             return 30;
@@ -599,6 +623,7 @@ public class TestBaseDateTimeField extends TestCase {
     }
 
     static class MockPartial extends BasePartial {
+        @Override
         protected DateTimeField getField(int index, Chronology chrono) {
             if (index == 0) {
                 return ISOChronology.getInstanceUTC().minuteOfHour();
diff --git a/src/test/java/org/joda/time/field/TestMillisDurationField.java b/src/test/java/org/joda/time/field/TestMillisDurationField.java
index 293a3d47..874d2461 100644
--- a/src/test/java/org/joda/time/field/TestMillisDurationField.java
+++ b/src/test/java/org/joda/time/field/TestMillisDurationField.java
@@ -46,9 +46,11 @@ public class TestMillisDurationField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/field/TestOffsetDateTimeField.java b/src/test/java/org/joda/time/field/TestOffsetDateTimeField.java
index 339d49f3..14e4703c 100644
--- a/src/test/java/org/joda/time/field/TestOffsetDateTimeField.java
+++ b/src/test/java/org/joda/time/field/TestOffsetDateTimeField.java
@@ -46,9 +46,11 @@ public class TestOffsetDateTimeField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
@@ -540,9 +542,11 @@ public class TestOffsetDateTimeField extends TestCase {
         protected MockStandardDateTimeField() {
             super();
         }
+        @Override
         public DurationField getDurationField() {
             return ISOChronology.getInstanceUTC().seconds();
         }
+        @Override
         public DurationField getRangeDurationField() {
             return ISOChronology.getInstanceUTC().minutes();
         }
diff --git a/src/test/java/org/joda/time/field/TestPreciseDateTimeField.java b/src/test/java/org/joda/time/field/TestPreciseDateTimeField.java
index 2dd51703..e3ffa288 100644
--- a/src/test/java/org/joda/time/field/TestPreciseDateTimeField.java
+++ b/src/test/java/org/joda/time/field/TestPreciseDateTimeField.java
@@ -46,9 +46,11 @@ public class TestPreciseDateTimeField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
@@ -547,9 +549,11 @@ public class TestPreciseDateTimeField extends TestCase {
         protected MockStandardDateTimeField() {
             super();
         }
+        @Override
         public DurationField getDurationField() {
             return ISOChronology.getInstanceUTC().seconds();
         }
+        @Override
         public DurationField getRangeDurationField() {
             return ISOChronology.getInstanceUTC().minutes();
         }
@@ -566,29 +570,37 @@ public class TestPreciseDateTimeField extends TestCase {
             super(type);
             this.unit = unit;
         }
+        @Override
         public boolean isPrecise() {
             return true;
         }
+        @Override
         public long getUnitMillis() {
             return unit;
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             add_int++;
             return instant + (value * 60L);
         }
+        @Override
         public long add(long instant, long value) {
             add_long++;
             return instant + (value * 60L);
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             difference_long++;
             return 30;
@@ -600,27 +612,35 @@ public class TestPreciseDateTimeField extends TestCase {
         protected MockZeroDurationField(DurationFieldType type) {
             super(type);
         }
+        @Override
         public boolean isPrecise() {
             return true;
         }
+        @Override
         public long getUnitMillis() {
             return 0;  // this is zero
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             return 0;
         }
+        @Override
         public long add(long instant, long value) {
             return 0;
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return 0;
         }
@@ -631,27 +651,35 @@ public class TestPreciseDateTimeField extends TestCase {
         protected MockImpreciseDurationField(DurationFieldType type) {
             super(type);
         }
+        @Override
         public boolean isPrecise() {
             return false;  // this is false
         }
+        @Override
         public long getUnitMillis() {
             return 0;
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             return 0;
         }
+        @Override
         public long add(long instant, long value) {
             return 0;
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return 0;
         }
diff --git a/src/test/java/org/joda/time/field/TestPreciseDurationDateTimeField.java b/src/test/java/org/joda/time/field/TestPreciseDurationDateTimeField.java
index 29e24557..2a6e047a 100644
--- a/src/test/java/org/joda/time/field/TestPreciseDurationDateTimeField.java
+++ b/src/test/java/org/joda/time/field/TestPreciseDurationDateTimeField.java
@@ -46,9 +46,11 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
@@ -428,6 +430,7 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         assertEquals(2, field.getMaximumTextLength(Locale.ENGLISH));
 
         field = new MockPreciseDurationDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return 5;
             }
@@ -435,6 +438,7 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         assertEquals(1, field.getMaximumTextLength(Locale.ENGLISH));
         
         field = new MockPreciseDurationDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return 555;
             }
@@ -442,6 +446,7 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         assertEquals(3, field.getMaximumTextLength(Locale.ENGLISH));
         
         field = new MockPreciseDurationDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return 5555;
             }
@@ -449,6 +454,7 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         assertEquals(4, field.getMaximumTextLength(Locale.ENGLISH));
         
         field = new MockPreciseDurationDateTimeField() {
+            @Override
             public int getMaximumValue() {
                 return -1;
             }
@@ -538,12 +544,15 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         protected MockPreciseDurationDateTimeField(DateTimeFieldType type, DurationField dur) {
             super(type, dur);
         }
+        @Override
         public int get(long instant) {
             return (int) (instant / 60L);
         }
+        @Override
         public DurationField getRangeDurationField() {
             return new MockCountingDurationField(DurationFieldType.minutes());
         }
+        @Override
         public int getMaximumValue() {
             return 59;
         }
@@ -553,9 +562,11 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         protected MockStandardBaseDateTimeField() {
             super();
         }
+        @Override
         public DurationField getDurationField() {
             return ISOChronology.getInstanceUTC().seconds();
         }
+        @Override
         public DurationField getRangeDurationField() {
             return ISOChronology.getInstanceUTC().minutes();
         }
@@ -570,29 +581,37 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         protected MockCountingDurationField(DurationFieldType type) {
             super(type);
         }
+        @Override
         public boolean isPrecise() {
             return true;
         }
+        @Override
         public long getUnitMillis() {
             return 60;
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             add_int++;
             return instant + (value * 60L);
         }
+        @Override
         public long add(long instant, long value) {
             add_long++;
             return instant + (value * 60L);
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             difference_long++;
             return 30;
@@ -604,27 +623,35 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         protected MockZeroDurationField(DurationFieldType type) {
             super(type);
         }
+        @Override
         public boolean isPrecise() {
             return true;
         }
+        @Override
         public long getUnitMillis() {
             return 0;  // this is zero
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             return 0;
         }
+        @Override
         public long add(long instant, long value) {
             return 0;
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return 0;
         }
@@ -635,27 +662,35 @@ public class TestPreciseDurationDateTimeField extends TestCase {
         protected MockImpreciseDurationField(DurationFieldType type) {
             super(type);
         }
+        @Override
         public boolean isPrecise() {
             return false;  // this is false
         }
+        @Override
         public long getUnitMillis() {
             return 0;
         }
+        @Override
         public long getValueAsLong(long duration, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(int value, long instant) {
             return 0;
         }
+        @Override
         public long getMillis(long value, long instant) {
             return 0;
         }
+        @Override
         public long add(long instant, int value) {
             return 0;
         }
+        @Override
         public long add(long instant, long value) {
             return 0;
         }
+        @Override
         public long getDifferenceAsLong(long minuendInstant, long subtrahendInstant) {
             return 0;
         }
diff --git a/src/test/java/org/joda/time/field/TestPreciseDurationField.java b/src/test/java/org/joda/time/field/TestPreciseDurationField.java
index 1154d059..b3c152d2 100644
--- a/src/test/java/org/joda/time/field/TestPreciseDurationField.java
+++ b/src/test/java/org/joda/time/field/TestPreciseDurationField.java
@@ -52,10 +52,12 @@ public class TestPreciseDurationField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         iField = new PreciseDurationField(DurationFieldType.seconds(), 1000);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         iField = null;
     }
diff --git a/src/test/java/org/joda/time/field/TestScaledDurationField.java b/src/test/java/org/joda/time/field/TestScaledDurationField.java
index 4bfd65eb..7fbfc60f 100644
--- a/src/test/java/org/joda/time/field/TestScaledDurationField.java
+++ b/src/test/java/org/joda/time/field/TestScaledDurationField.java
@@ -52,11 +52,13 @@ public class TestScaledDurationField extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DurationField base = MillisDurationField.INSTANCE;
         iField = new ScaledDurationField(base, DurationFieldType.minutes(), 90);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         iField = null;
     }
diff --git a/src/test/java/org/joda/time/field/TestUnsupportedDateTimeField.java b/src/test/java/org/joda/time/field/TestUnsupportedDateTimeField.java
index 12161d33..8b9f46d7 100644
--- a/src/test/java/org/joda/time/field/TestUnsupportedDateTimeField.java
+++ b/src/test/java/org/joda/time/field/TestUnsupportedDateTimeField.java
@@ -44,6 +44,7 @@ public class TestUnsupportedDateTimeField extends TestCase {
         return new TestSuite(TestUnsupportedDateTimeField.class);
     }
 
+    @Override
     protected void setUp() throws Exception {
         weeks = DurationFieldType.weeks();
         months = DurationFieldType.months();
diff --git a/src/test/java/org/joda/time/format/TestDateTimeFormat.java b/src/test/java/org/joda/time/format/TestDateTimeFormat.java
index 8f71b4a2..2a29cc3d 100644
--- a/src/test/java/org/joda/time/format/TestDateTimeFormat.java
+++ b/src/test/java/org/joda/time/format/TestDateTimeFormat.java
@@ -69,6 +69,7 @@ public class TestDateTimeFormat extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -79,6 +80,7 @@ public class TestDateTimeFormat extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestDateTimeFormatStyle.java b/src/test/java/org/joda/time/format/TestDateTimeFormatStyle.java
index 5b143f97..dedb030b 100644
--- a/src/test/java/org/joda/time/format/TestDateTimeFormatStyle.java
+++ b/src/test/java/org/joda/time/format/TestDateTimeFormatStyle.java
@@ -68,6 +68,7 @@ public class TestDateTimeFormatStyle extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -78,6 +79,7 @@ public class TestDateTimeFormatStyle extends TestCase {
         Locale.setDefault(UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestDateTimeFormatter.java b/src/test/java/org/joda/time/format/TestDateTimeFormatter.java
index bb42309b..41000447 100644
--- a/src/test/java/org/joda/time/format/TestDateTimeFormatter.java
+++ b/src/test/java/org/joda/time/format/TestDateTimeFormatter.java
@@ -80,6 +80,7 @@ public class TestDateTimeFormatter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -96,6 +97,7 @@ public class TestDateTimeFormatter extends TestCase {
         g = ISODateTimeFormat.dateTimeNoMillis();
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestDateTimeFormatterBuilder.java b/src/test/java/org/joda/time/format/TestDateTimeFormatterBuilder.java
index d9f6f58a..102760d6 100644
--- a/src/test/java/org/joda/time/format/TestDateTimeFormatterBuilder.java
+++ b/src/test/java/org/joda/time/format/TestDateTimeFormatterBuilder.java
@@ -58,9 +58,11 @@ public class TestDateTimeFormatterBuilder extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/format/TestISODateTimeFormat.java b/src/test/java/org/joda/time/format/TestISODateTimeFormat.java
index 044733b1..5c724ea2 100644
--- a/src/test/java/org/joda/time/format/TestISODateTimeFormat.java
+++ b/src/test/java/org/joda/time/format/TestISODateTimeFormat.java
@@ -64,6 +64,7 @@ public class TestISODateTimeFormat extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -74,6 +75,7 @@ public class TestISODateTimeFormat extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestISODateTimeFormatParsing.java b/src/test/java/org/joda/time/format/TestISODateTimeFormatParsing.java
index 1b7b06b9..c0aef80c 100644
--- a/src/test/java/org/joda/time/format/TestISODateTimeFormatParsing.java
+++ b/src/test/java/org/joda/time/format/TestISODateTimeFormatParsing.java
@@ -47,6 +47,7 @@ public class TestISODateTimeFormatParsing extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalDateTimeZone = DateTimeZone.getDefault();
         originalTimeZone = TimeZone.getDefault();
@@ -56,6 +57,7 @@ public class TestISODateTimeFormatParsing extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(originalDateTimeZone);
         TimeZone.setDefault(originalTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestISODateTimeFormat_Fields.java b/src/test/java/org/joda/time/format/TestISODateTimeFormat_Fields.java
index 0d3b1708..a18e4155 100644
--- a/src/test/java/org/joda/time/format/TestISODateTimeFormat_Fields.java
+++ b/src/test/java/org/joda/time/format/TestISODateTimeFormat_Fields.java
@@ -46,9 +46,11 @@ public class TestISODateTimeFormat_Fields extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
     }
 
+    @Override
     protected void tearDown() throws Exception {
     }
 
diff --git a/src/test/java/org/joda/time/format/TestISOPeriodFormat.java b/src/test/java/org/joda/time/format/TestISOPeriodFormat.java
index bef0d425..ed6e58ca 100644
--- a/src/test/java/org/joda/time/format/TestISOPeriodFormat.java
+++ b/src/test/java/org/joda/time/format/TestISOPeriodFormat.java
@@ -69,6 +69,7 @@ public class TestISOPeriodFormat extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -79,6 +80,7 @@ public class TestISOPeriodFormat extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestISOPeriodFormatParsing.java b/src/test/java/org/joda/time/format/TestISOPeriodFormatParsing.java
index da600443..2c448039 100644
--- a/src/test/java/org/joda/time/format/TestISOPeriodFormatParsing.java
+++ b/src/test/java/org/joda/time/format/TestISOPeriodFormatParsing.java
@@ -68,6 +68,7 @@ public class TestISOPeriodFormatParsing extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -78,6 +79,7 @@ public class TestISOPeriodFormatParsing extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestPeriodFormat.java b/src/test/java/org/joda/time/format/TestPeriodFormat.java
index 5814f4e4..a100f1fa 100644
--- a/src/test/java/org/joda/time/format/TestPeriodFormat.java
+++ b/src/test/java/org/joda/time/format/TestPeriodFormat.java
@@ -56,11 +56,13 @@ public class TestPeriodFormat extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalLocale = Locale.getDefault();
         Locale.setDefault(DE);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         Locale.setDefault(originalLocale);
         originalLocale = null;
diff --git a/src/test/java/org/joda/time/format/TestPeriodFormatParsing.java b/src/test/java/org/joda/time/format/TestPeriodFormatParsing.java
index 38c02239..c7de4063 100644
--- a/src/test/java/org/joda/time/format/TestPeriodFormatParsing.java
+++ b/src/test/java/org/joda/time/format/TestPeriodFormatParsing.java
@@ -68,6 +68,7 @@ public class TestPeriodFormatParsing extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -78,6 +79,7 @@ public class TestPeriodFormatParsing extends TestCase {
         Locale.setDefault(Locale.UK);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestPeriodFormatter.java b/src/test/java/org/joda/time/format/TestPeriodFormatter.java
index 9717ed8e..65ab456c 100644
--- a/src/test/java/org/joda/time/format/TestPeriodFormatter.java
+++ b/src/test/java/org/joda/time/format/TestPeriodFormatter.java
@@ -73,6 +73,7 @@ public class TestPeriodFormatter extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         DateTimeUtils.setCurrentMillisFixed(TEST_TIME_NOW);
         originalDateTimeZone = DateTimeZone.getDefault();
@@ -84,6 +85,7 @@ public class TestPeriodFormatter extends TestCase {
         f = ISOPeriodFormat.standard();
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeUtils.setCurrentMillisSystem();
         DateTimeZone.setDefault(originalDateTimeZone);
diff --git a/src/test/java/org/joda/time/format/TestTextFields.java b/src/test/java/org/joda/time/format/TestTextFields.java
index 310890aa..5e58461b 100644
--- a/src/test/java/org/joda/time/format/TestTextFields.java
+++ b/src/test/java/org/joda/time/format/TestTextFields.java
@@ -71,6 +71,7 @@ public class TestTextFields extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalDateTimeZone = DateTimeZone.getDefault();
         originalLocale = Locale.getDefault();
@@ -78,6 +79,7 @@ public class TestTextFields extends TestCase {
         Locale.setDefault(Locale.ENGLISH);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(originalDateTimeZone);
         Locale.setDefault(originalLocale);
diff --git a/src/test/java/org/joda/time/tz/TestBuilder.java b/src/test/java/org/joda/time/tz/TestBuilder.java
index e5b9270d..5e6b01c8 100644
--- a/src/test/java/org/joda/time/tz/TestBuilder.java
+++ b/src/test/java/org/joda/time/tz/TestBuilder.java
@@ -197,11 +197,13 @@ public class TestBuilder extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalDateTimeZone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(originalDateTimeZone);
     }
diff --git a/src/test/java/org/joda/time/tz/TestCachedDateTimeZone.java b/src/test/java/org/joda/time/tz/TestCachedDateTimeZone.java
index 56b73c75..eb763900 100644
--- a/src/test/java/org/joda/time/tz/TestCachedDateTimeZone.java
+++ b/src/test/java/org/joda/time/tz/TestCachedDateTimeZone.java
@@ -46,11 +46,13 @@ public class TestCachedDateTimeZone extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalDateTimeZone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(originalDateTimeZone);
     }
diff --git a/src/test/java/org/joda/time/tz/TestCompiler.java b/src/test/java/org/joda/time/tz/TestCompiler.java
index 51ee2b9c..9199eb3e 100644
--- a/src/test/java/org/joda/time/tz/TestCompiler.java
+++ b/src/test/java/org/joda/time/tz/TestCompiler.java
@@ -91,11 +91,13 @@ public class TestCompiler extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalDateTimeZone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(originalDateTimeZone);
     }
diff --git a/src/test/java/org/joda/time/tz/TestFixedDateTimeZone.java b/src/test/java/org/joda/time/tz/TestFixedDateTimeZone.java
index da2c414e..6f6b03ae 100644
--- a/src/test/java/org/joda/time/tz/TestFixedDateTimeZone.java
+++ b/src/test/java/org/joda/time/tz/TestFixedDateTimeZone.java
@@ -44,11 +44,13 @@ public class TestFixedDateTimeZone extends TestCase {
         super(name);
     }
 
+    @Override
     protected void setUp() throws Exception {
         originalDateTimeZone = DateTimeZone.getDefault();
         DateTimeZone.setDefault(DateTimeZone.UTC);
     }
 
+    @Override
     protected void tearDown() throws Exception {
         DateTimeZone.setDefault(originalDateTimeZone);
     }