updated minimum JDK version to 1.6.
Added Overrides for methods implementing an interface.
diff --git a/gson/pom.xml b/gson/pom.xml
index b6f67be..a48860a 100644
--- a/gson/pom.xml
+++ b/gson/pom.xml
@@ -113,8 +113,8 @@
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.3</version>
         <configuration>
-          <source>1.5</source>
-          <target>1.5</target>
+          <source>1.6</source>
+          <target>1.6</target>
         </configuration>
       </plugin>
       <plugin>
diff --git a/gson/src/main/java/com/google/gson/DefaultDateTypeAdapter.java b/gson/src/main/java/com/google/gson/DefaultDateTypeAdapter.java
index aa25334..7ea945f 100644
--- a/gson/src/main/java/com/google/gson/DefaultDateTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/DefaultDateTypeAdapter.java
@@ -67,6 +67,7 @@
 
   // These methods need to be synchronized since JDK DateFormat classes are not thread-safe
   // See issue 162
+  @Override
   public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) {
     synchronized (localFormat) {
       String dateFormatAsString = enUsFormat.format(src);
@@ -74,6 +75,7 @@
     }
   }
 
+  @Override
   public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
       throws JsonParseException {
     if (!(json instanceof JsonPrimitive)) {
diff --git a/gson/src/main/java/com/google/gson/FieldNamingPolicy.java b/gson/src/main/java/com/google/gson/FieldNamingPolicy.java
index 6b4c72c..eecb2db 100644
--- a/gson/src/main/java/com/google/gson/FieldNamingPolicy.java
+++ b/gson/src/main/java/com/google/gson/FieldNamingPolicy.java
@@ -35,7 +35,7 @@
    * unchanged.
    */
   IDENTITY() {
-    public String translateName(Field f) {
+    @Override public String translateName(Field f) {
       return f.getName();
     }
   },
@@ -51,7 +51,7 @@
    * </ul>
    */
   UPPER_CAMEL_CASE() {
-    public String translateName(Field f) {
+    @Override public String translateName(Field f) {
       return upperCaseFirstLetter(f.getName());
     }
   },
@@ -70,7 +70,7 @@
    * @since 1.4
    */
   UPPER_CAMEL_CASE_WITH_SPACES() {
-    public String translateName(Field f) {
+    @Override public String translateName(Field f) {
       return upperCaseFirstLetter(separateCamelCase(f.getName(), " "));
     }
   },
@@ -88,7 +88,7 @@
    * </ul>
    */
   LOWER_CASE_WITH_UNDERSCORES() {
-    public String translateName(Field f) {
+    @Override public String translateName(Field f) {
       return separateCamelCase(f.getName(), "_").toLowerCase(Locale.ENGLISH);
     }
   },
@@ -111,7 +111,7 @@
    * @since 1.4
    */
   LOWER_CASE_WITH_DASHES() {
-    public String translateName(Field f) {
+    @Override public String translateName(Field f) {
       return separateCamelCase(f.getName(), "-").toLowerCase(Locale.ENGLISH);
     }
   };
@@ -166,4 +166,4 @@
         ? firstCharacter + srcString.substring(indexOfSubstring)
         : String.valueOf(firstCharacter);
   }
-}
\ No newline at end of file
+}
diff --git a/gson/src/main/java/com/google/gson/Gson.java b/gson/src/main/java/com/google/gson/Gson.java
index d3b172a..ad17db9 100644
--- a/gson/src/main/java/com/google/gson/Gson.java
+++ b/gson/src/main/java/com/google/gson/Gson.java
@@ -125,16 +125,16 @@
 
   final JsonDeserializationContext deserializationContext = new JsonDeserializationContext() {
     @SuppressWarnings("unchecked")
-	public <T> T deserialize(JsonElement json, Type typeOfT) throws JsonParseException {
+    @Override public <T> T deserialize(JsonElement json, Type typeOfT) throws JsonParseException {
       return (T) fromJson(json, typeOfT);
     }
   };
 
   final JsonSerializationContext serializationContext = new JsonSerializationContext() {
-    public JsonElement serialize(Object src) {
+    @Override public JsonElement serialize(Object src) {
       return toJsonTree(src);
     }
-    public JsonElement serialize(Object src, Type typeOfSrc) {
+    @Override public JsonElement serialize(Object src, Type typeOfSrc) {
       return toJsonTree(src, typeOfSrc);
     }
   };
diff --git a/gson/src/main/java/com/google/gson/LongSerializationPolicy.java b/gson/src/main/java/com/google/gson/LongSerializationPolicy.java
index 3d9a2da..7b732ba 100644
--- a/gson/src/main/java/com/google/gson/LongSerializationPolicy.java
+++ b/gson/src/main/java/com/google/gson/LongSerializationPolicy.java
@@ -32,7 +32,7 @@
    * {@code {"f":123}}.
    */
   DEFAULT() {
-    public JsonElement serialize(Long value) {
+    @Override public JsonElement serialize(Long value) {
       return new JsonPrimitive(value);
     }
   },
@@ -43,7 +43,7 @@
    * {@code {"f":"123"}}.
    */
   STRING() {
-    public JsonElement serialize(Long value) {
+    @Override public JsonElement serialize(Long value) {
       return new JsonPrimitive(String.valueOf(value));
     }
   };
diff --git a/gson/src/main/java/com/google/gson/TreeTypeAdapter.java b/gson/src/main/java/com/google/gson/TreeTypeAdapter.java
index a05c1fe..ef09090 100644
--- a/gson/src/main/java/com/google/gson/TreeTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/TreeTypeAdapter.java
@@ -127,6 +127,7 @@
     }
 
     @SuppressWarnings("unchecked") // guarded by typeToken.equals() call
+    @Override
     public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       boolean matches = exactType != null
           ? exactType.equals(type) || matchRawType && exactType.getType() == type.getRawType()
diff --git a/gson/src/main/java/com/google/gson/internal/bind/ArrayTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/ArrayTypeAdapter.java
index 55d7e30..3fb7c05 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/ArrayTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/ArrayTypeAdapter.java
@@ -38,7 +38,7 @@
 public final class ArrayTypeAdapter<E> extends TypeAdapter<Object> {
   public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings({"unchecked", "rawtypes"})
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
       Type type = typeToken.getType();
       if (!(type instanceof GenericArrayType || type instanceof Class && ((Class<?>) type).isArray())) {
         return null;
@@ -60,7 +60,7 @@
     this.componentType = componentType;
   }
 
-  public Object read(JsonReader in) throws IOException {
+  @Override public Object read(JsonReader in) throws IOException {
     if (in.peek() == JsonToken.NULL) {
       in.nextNull();
       return null;
diff --git a/gson/src/main/java/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java b/gson/src/main/java/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java
index 0b95445..1d57844 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/CollectionTypeAdapterFactory.java
@@ -40,6 +40,7 @@
     this.constructorConstructor = constructorConstructor;
   }
 
+  @Override
   public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
     Type type = typeToken.getType();
 
@@ -69,7 +70,7 @@
       this.constructor = constructor;
     }
 
-    public Collection<E> read(JsonReader in) throws IOException {
+    @Override public Collection<E> read(JsonReader in) throws IOException {
       if (in.peek() == JsonToken.NULL) {
         in.nextNull();
         return null;
@@ -85,7 +86,7 @@
       return collection;
     }
 
-    public void write(JsonWriter out, Collection<E> collection) throws IOException {
+    @Override public void write(JsonWriter out, Collection<E> collection) throws IOException {
       if (collection == null) {
         out.nullValue();
         return;
diff --git a/gson/src/main/java/com/google/gson/internal/bind/DateTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/DateTypeAdapter.java
index f257172..2e1d282 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/DateTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/DateTypeAdapter.java
@@ -41,7 +41,7 @@
 public final class DateTypeAdapter extends TypeAdapter<Date> {
   public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
       return typeToken.getRawType() == Date.class ? (TypeAdapter<T>) new DateTypeAdapter() : null;
     }
   };
diff --git a/gson/src/main/java/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java b/gson/src/main/java/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java
index 7e0be28..77554e2 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory.java
@@ -38,6 +38,7 @@
   }
 
   @SuppressWarnings("unchecked")
+  @Override
   public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> targetType) {
     JsonAdapter annotation = targetType.getRawType().getAnnotation(JsonAdapter.class);
     if (annotation == null) {
diff --git a/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java b/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java
index c3c616c..9c82a39 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/MapTypeAdapterFactory.java
@@ -112,7 +112,7 @@
     this.complexMapKeySerialization = complexMapKeySerialization;
   }
 
-  public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+  @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
     Type type = typeToken.getType();
 
     Class<? super T> rawType = typeToken.getRawType();
@@ -157,7 +157,7 @@
       this.constructor = constructor;
     }
 
-    public Map<K, V> read(JsonReader in) throws IOException {
+    @Override public Map<K, V> read(JsonReader in) throws IOException {
       JsonToken peek = in.peek();
       if (peek == JsonToken.NULL) {
         in.nextNull();
@@ -195,7 +195,7 @@
       return map;
     }
 
-    public void write(JsonWriter out, Map<K, V> map) throws IOException {
+    @Override public void write(JsonWriter out, Map<K, V> map) throws IOException {
       if (map == null) {
         out.nullValue();
         return;
diff --git a/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java
index 235d2b3..1288993 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java
@@ -37,7 +37,7 @@
 public final class ObjectTypeAdapter extends TypeAdapter<Object> {
   public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings("unchecked")
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       if (type.getRawType() == Object.class) {
         return (TypeAdapter<T>) new ObjectTypeAdapter(gson);
       }
diff --git a/gson/src/main/java/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java b/gson/src/main/java/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java
index 3957c36..b954b01 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/ReflectiveTypeAdapterFactory.java
@@ -86,7 +86,7 @@
     return fieldNames;
   }
 
-  public <T> TypeAdapter<T> create(Gson gson, final TypeToken<T> type) {
+  @Override public <T> TypeAdapter<T> create(Gson gson, final TypeToken<T> type) {
     Class<? super T> raw = type.getRawType();
 
     if (!Object.class.isAssignableFrom(raw)) {
@@ -119,7 +119,7 @@
           field.set(value, fieldValue);
         }
       }
-      public boolean writeField(Object value) throws IOException, IllegalAccessException {
+      @Override public boolean writeField(Object value) throws IOException, IllegalAccessException {
         if (!serialized) return false;
         Object fieldValue = field.get(value);
         return fieldValue != value; // avoid recursion for example for Throwable.cause
diff --git a/gson/src/main/java/com/google/gson/internal/bind/SqlDateTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/SqlDateTypeAdapter.java
index 5ecc2e9..5ec244f 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/SqlDateTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/SqlDateTypeAdapter.java
@@ -38,7 +38,7 @@
 public final class SqlDateTypeAdapter extends TypeAdapter<java.sql.Date> {
   public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
       return typeToken.getRawType() == java.sql.Date.class
           ? (TypeAdapter<T>) new SqlDateTypeAdapter() : null;
     }
diff --git a/gson/src/main/java/com/google/gson/internal/bind/TimeTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/TimeTypeAdapter.java
index bbbb4d9..55d4b2f 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/TimeTypeAdapter.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/TimeTypeAdapter.java
@@ -40,7 +40,7 @@
 public final class TimeTypeAdapter extends TypeAdapter<Time> {
   public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
       return typeToken.getRawType() == Time.class ? (TypeAdapter<T>) new TimeTypeAdapter() : null;
     }
   };
diff --git a/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java b/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java
index 0268aa8..170a4b5 100644
--- a/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java
+++ b/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java
@@ -83,7 +83,7 @@
   public static final TypeAdapterFactory CLASS_FACTORY = newFactory(Class.class, CLASS);
 
   public static final TypeAdapter<BitSet> BIT_SET = new TypeAdapter<BitSet>() {
-    public BitSet read(JsonReader in) throws IOException {
+    @Override public BitSet read(JsonReader in) throws IOException {
       if (in.peek() == JsonToken.NULL) {
         in.nextNull();
         return null;
@@ -124,7 +124,7 @@
       return bitset;
     }
 
-    public void write(JsonWriter out, BitSet src) throws IOException {
+    @Override public void write(JsonWriter out, BitSet src) throws IOException {
       if (src == null) {
         out.nullValue();
         return;
@@ -516,7 +516,7 @@
 
   public static final TypeAdapterFactory TIMESTAMP_FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
       if (typeToken.getRawType() != Timestamp.class) {
         return null;
       }
@@ -737,7 +737,7 @@
         throw new AssertionError();
       }
     }
-    public T read(JsonReader in) throws IOException {
+    @Override public T read(JsonReader in) throws IOException {
       if (in.peek() == JsonToken.NULL) {
         in.nextNull();
         return null;
@@ -745,14 +745,14 @@
       return nameToConstant.get(in.nextString());
     }
 
-    public void write(JsonWriter out, T value) throws IOException {
+    @Override public void write(JsonWriter out, T value) throws IOException {
       out.value(value == null ? null : constantToName.get(value));
     }
   }
 
   public static final TypeAdapterFactory ENUM_FACTORY = new TypeAdapterFactory() {
     @SuppressWarnings({"rawtypes", "unchecked"})
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
       Class<? super T> rawType = typeToken.getRawType();
       if (!Enum.class.isAssignableFrom(rawType) || rawType == Enum.class) {
         return null;
@@ -768,7 +768,7 @@
       final TypeToken<TT> type, final TypeAdapter<TT> typeAdapter) {
     return new TypeAdapterFactory() {
       @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-      public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+      @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
         return typeToken.equals(type) ? (TypeAdapter<T>) typeAdapter : null;
       }
     };
@@ -778,7 +778,7 @@
       final Class<TT> type, final TypeAdapter<TT> typeAdapter) {
     return new TypeAdapterFactory() {
       @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-      public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+      @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
         return typeToken.getRawType() == type ? (TypeAdapter<T>) typeAdapter : null;
       }
       @Override public String toString() {
@@ -791,7 +791,7 @@
       final Class<TT> unboxed, final Class<TT> boxed, final TypeAdapter<? super TT> typeAdapter) {
     return new TypeAdapterFactory() {
       @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-      public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+      @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
         Class<? super T> rawType = typeToken.getRawType();
         return (rawType == unboxed || rawType == boxed) ? (TypeAdapter<T>) typeAdapter : null;
       }
@@ -806,7 +806,7 @@
       final Class<? extends TT> sub, final TypeAdapter<? super TT> typeAdapter) {
     return new TypeAdapterFactory() {
       @SuppressWarnings("unchecked") // we use a runtime check to make sure the 'T's equal
-      public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
+      @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) {
         Class<? super T> rawType = typeToken.getRawType();
         return (rawType == base || rawType == sub) ? (TypeAdapter<T>) typeAdapter : null;
       }
@@ -825,7 +825,7 @@
       final Class<T1> clazz, final TypeAdapter<T1> typeAdapter) {
     return new TypeAdapterFactory() {
       @SuppressWarnings("unchecked")
-      public <T2> TypeAdapter<T2> create(Gson gson, TypeToken<T2> typeToken) {
+      @Override public <T2> TypeAdapter<T2> create(Gson gson, TypeToken<T2> typeToken) {
         final Class<? super T2> requestedType = typeToken.getRawType();
         if (!clazz.isAssignableFrom(requestedType)) {
           return null;
diff --git a/gson/src/test/java/com/google/gson/GsonTypeAdapterTest.java b/gson/src/test/java/com/google/gson/GsonTypeAdapterTest.java
index 922cecc..decb93d 100644
--- a/gson/src/test/java/com/google/gson/GsonTypeAdapterTest.java
+++ b/gson/src/test/java/com/google/gson/GsonTypeAdapterTest.java
@@ -80,12 +80,11 @@
 
   private static class ExceptionTypeAdapter
       implements JsonSerializer<AtomicLong>, JsonDeserializer<AtomicLong> {
-    public JsonElement serialize(
+    @Override public JsonElement serialize(
         AtomicLong src, Type typeOfSrc, JsonSerializationContext context) {
       throw new IllegalStateException();
     }
-
-    public AtomicLong deserialize(
+    @Override public AtomicLong deserialize(
         JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       throw new IllegalStateException();
@@ -94,11 +93,11 @@
 
   private static class AtomicIntegerTypeAdapter
       implements JsonSerializer<AtomicInteger>, JsonDeserializer<AtomicInteger> {
-    public JsonElement serialize(AtomicInteger src, Type typeOfSrc, JsonSerializationContext context) {
+    @Override public JsonElement serialize(AtomicInteger src, Type typeOfSrc, JsonSerializationContext context) {
       return new JsonPrimitive(src.incrementAndGet());
     }
 
-    public AtomicInteger deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
+    @Override public AtomicInteger deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       int intValue = json.getAsInt();
       return new AtomicInteger(--intValue);
diff --git a/gson/src/test/java/com/google/gson/MockExclusionStrategy.java b/gson/src/test/java/com/google/gson/MockExclusionStrategy.java
index 2e5db94..7830d8a 100644
--- a/gson/src/test/java/com/google/gson/MockExclusionStrategy.java
+++ b/gson/src/test/java/com/google/gson/MockExclusionStrategy.java
@@ -31,10 +31,12 @@
     this.skipField = skipField;
   }
 
+  @Override
   public boolean shouldSkipField(FieldAttributes f) {
     return skipField;
   }
 
+  @Override
   public boolean shouldSkipClass(Class<?> clazz) {
     return skipClass;
   }
diff --git a/gson/src/test/java/com/google/gson/ParameterizedTypeFixtures.java b/gson/src/test/java/com/google/gson/ParameterizedTypeFixtures.java
index 6bae432..0959ee4 100644
--- a/gson/src/test/java/com/google/gson/ParameterizedTypeFixtures.java
+++ b/gson/src/test/java/com/google/gson/ParameterizedTypeFixtures.java
@@ -118,12 +118,12 @@
     public MyParameterizedTypeInstanceCreator(T instanceOfT) {
       this.instanceOfT = instanceOfT;
     }
-    public MyParameterizedType<T> createInstance(Type type) {
+    @Override public MyParameterizedType<T> createInstance(Type type) {
       return new MyParameterizedType<T>(instanceOfT);
     }
   }
 
-  public static class MyParameterizedTypeAdapter<T>
+  public static final class MyParameterizedTypeAdapter<T>
   implements JsonSerializer<MyParameterizedType<T>>, JsonDeserializer<MyParameterizedType<T>> {
     @SuppressWarnings("unchecked")
     public static<T> String getExpectedJson(MyParameterizedType<T> obj) {
@@ -142,7 +142,7 @@
       return sb.toString();
     }
 
-    public JsonElement serialize(MyParameterizedType<T> src, Type classOfSrc,
+    @Override public JsonElement serialize(MyParameterizedType<T> src, Type classOfSrc,
         JsonSerializationContext context) {
       JsonObject json = new JsonObject();
       T value = src.getValue();
@@ -151,7 +151,7 @@
     }
 
     @SuppressWarnings("unchecked")
-    public MyParameterizedType<T> deserialize(JsonElement json, Type typeOfT,
+    @Override public MyParameterizedType<T> deserialize(JsonElement json, Type typeOfT,
         JsonDeserializationContext context) throws JsonParseException {
       Type genericClass = ((ParameterizedType) typeOfT).getActualTypeArguments()[0];
       Class<?> rawType = $Gson$Types.getRawType(genericClass);
diff --git a/gson/src/test/java/com/google/gson/common/TestTypes.java b/gson/src/test/java/com/google/gson/common/TestTypes.java
index 4754d97..11d3d0a 100644
--- a/gson/src/test/java/com/google/gson/common/TestTypes.java
+++ b/gson/src/test/java/com/google/gson/common/TestTypes.java
@@ -77,14 +77,16 @@
 
   public static class BaseSerializer implements JsonSerializer<Base> {
     public static final String NAME = BaseSerializer.class.getSimpleName(); 
+    @Override
     public JsonElement serialize(Base src, Type typeOfSrc, JsonSerializationContext context) {
       JsonObject obj = new JsonObject();
       obj.addProperty(Base.SERIALIZER_KEY, NAME);
       return obj;
-    }    
+    }
   }
   public static class SubSerializer implements JsonSerializer<Sub> {
     public static final String NAME = SubSerializer.class.getSimpleName(); 
+    @Override
     public JsonElement serialize(Sub src, Type typeOfSrc, JsonSerializationContext context) {
       JsonObject obj = new JsonObject();
       obj.addProperty(Base.SERIALIZER_KEY, NAME);
@@ -227,7 +229,7 @@
   }
 
   public static class ClassWithNoFields {
-    // Nothing here.. .
+    // Nothing here..
     @Override
     public boolean equals(Object other) {
       return other.getClass() == ClassWithNoFields.class;
@@ -402,17 +404,18 @@
       return '{' + "\"fooBar\":" + f + ",\"Another Foo\":" + g + '}';
     }
   }
-  
+
   public static class CrazyLongTypeAdapter
       implements JsonSerializer<Long>, JsonDeserializer<Long> {
     public static final long DIFFERENCE = 5L;
+    @Override
     public JsonElement serialize(Long src, Type typeOfSrc, JsonSerializationContext context) {
       return new JsonPrimitive(src + DIFFERENCE);
     }
-    
+    @Override
     public Long deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       return json.getAsLong() - DIFFERENCE;
     }
+  }
 }
-}
\ No newline at end of file
diff --git a/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java b/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java
index 54ecade..c53db7f 100644
--- a/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java
+++ b/gson/src/test/java/com/google/gson/functional/CustomDeserializerTest.java
@@ -101,6 +101,7 @@
   }
 
   private static class DataHolderDeserializer implements JsonDeserializer<DataHolder> {
+    @Override
     public DataHolder deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       JsonObject jsonObj = json.getAsJsonObject();
@@ -112,7 +113,7 @@
   public void testJsonTypeFieldBasedDeserialization() {
     String json = "{field1:'abc',field2:'def',__type__:'SUB_TYPE1'}";
     Gson gson = new GsonBuilder().registerTypeAdapter(MyBase.class, new JsonDeserializer<MyBase>() {
-      public MyBase deserialize(JsonElement json, Type pojoType,
+      @Override public MyBase deserialize(JsonElement json, Type pojoType,
           JsonDeserializationContext context) throws JsonParseException {
         String type = json.getAsJsonObject().get(MyBase.TYPE_ACCESS).getAsString();
         return context.deserialize(json, SubTypes.valueOf(type).getSubclass());
@@ -150,6 +151,7 @@
   public void testCustomDeserializerReturnsNullForTopLevelObject() {
     Gson gson = new GsonBuilder()
       .registerTypeAdapter(Base.class, new JsonDeserializer<Base>() {
+        @Override
         public Base deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
             throws JsonParseException {
           return null;
@@ -163,6 +165,7 @@
   public void testCustomDeserializerReturnsNull() {
     Gson gson = new GsonBuilder()
       .registerTypeAdapter(Base.class, new JsonDeserializer<Base>() {
+        @Override
         public Base deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
             throws JsonParseException {
           return null;
@@ -176,6 +179,7 @@
   public void testCustomDeserializerReturnsNullForArrayElements() {
     Gson gson = new GsonBuilder()
       .registerTypeAdapter(Base.class, new JsonDeserializer<Base>() {
+        @Override
         public Base deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
             throws JsonParseException {
           return null;
@@ -190,6 +194,7 @@
   public void testCustomDeserializerReturnsNullForArrayElementsForArrayField() {
     Gson gson = new GsonBuilder()
       .registerTypeAdapter(Base.class, new JsonDeserializer<Base>() {
+        @Override
         public Base deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
             throws JsonParseException {
           return null;
@@ -201,7 +206,7 @@
     assertNull(target.bases[1]);
   }
 
-  private static class ClassWithBaseArray {
+  private static final class ClassWithBaseArray {
     Base[] bases;
   }
 }
diff --git a/gson/src/test/java/com/google/gson/functional/CustomTypeAdaptersTest.java b/gson/src/test/java/com/google/gson/functional/CustomTypeAdaptersTest.java
index 93ec785..b452849 100644
--- a/gson/src/test/java/com/google/gson/functional/CustomTypeAdaptersTest.java
+++ b/gson/src/test/java/com/google/gson/functional/CustomTypeAdaptersTest.java
@@ -57,8 +57,8 @@
   public void testCustomSerializers() {
     Gson gson = builder.registerTypeAdapter(
         ClassWithCustomTypeConverter.class, new JsonSerializer<ClassWithCustomTypeConverter>() {
-      public JsonElement serialize(ClassWithCustomTypeConverter src, Type typeOfSrc,
-          JsonSerializationContext context) {
+          @Override public JsonElement serialize(ClassWithCustomTypeConverter src, Type typeOfSrc,
+              JsonSerializationContext context) {
         JsonObject json = new JsonObject();
         json.addProperty("bag", 5);
         json.addProperty("value", 25);
@@ -72,8 +72,8 @@
   public void testCustomDeserializers() {
     Gson gson = new GsonBuilder().registerTypeAdapter(
         ClassWithCustomTypeConverter.class, new JsonDeserializer<ClassWithCustomTypeConverter>() {
-      public ClassWithCustomTypeConverter deserialize(JsonElement json, Type typeOfT,
-          JsonDeserializationContext context) {
+          @Override public ClassWithCustomTypeConverter deserialize(JsonElement json, Type typeOfT,
+              JsonDeserializationContext context) {
         JsonObject jsonObject = json.getAsJsonObject();
         int value = jsonObject.get("bag").getAsInt();
         return new ClassWithCustomTypeConverter(new BagOfPrimitives(value,
@@ -109,7 +109,7 @@
   public void testCustomNestedSerializers() {
     Gson gson = new GsonBuilder().registerTypeAdapter(
         BagOfPrimitives.class, new JsonSerializer<BagOfPrimitives>() {
-      public JsonElement serialize(BagOfPrimitives src, Type typeOfSrc,
+          @Override public JsonElement serialize(BagOfPrimitives src, Type typeOfSrc,
           JsonSerializationContext context) {
         return new JsonPrimitive(6);
       }
@@ -121,7 +121,7 @@
   public void testCustomNestedDeserializers() {
     Gson gson = new GsonBuilder().registerTypeAdapter(
         BagOfPrimitives.class, new JsonDeserializer<BagOfPrimitives>() {
-      public BagOfPrimitives deserialize(JsonElement json, Type typeOfT,
+          @Override public BagOfPrimitives deserialize(JsonElement json, Type typeOfT,
           JsonDeserializationContext context) throws JsonParseException {
         int value = json.getAsInt();
         return new BagOfPrimitives(value, value, false, "");
@@ -134,6 +134,7 @@
 
   public void testCustomTypeAdapterDoesNotAppliesToSubClasses() {
     Gson gson = new GsonBuilder().registerTypeAdapter(Base.class, new JsonSerializer<Base> () {
+      @Override
       public JsonElement serialize(Base src, Type typeOfSrc, JsonSerializationContext context) {
         JsonObject json = new JsonObject();
         json.addProperty("value", src.baseValue);
@@ -150,6 +151,7 @@
 
   public void testCustomTypeAdapterAppliesToSubClassesSerializedAsBaseClass() {
     Gson gson = new GsonBuilder().registerTypeAdapter(Base.class, new JsonSerializer<Base> () {
+      @Override
       public JsonElement serialize(Base src, Type typeOfSrc, JsonSerializationContext context) {
         JsonObject json = new JsonObject();
         json.addProperty("value", src.baseValue);
@@ -193,12 +195,14 @@
     }
   }
 
-  public static class FooTypeAdapter implements JsonSerializer<Foo>, JsonDeserializer<Foo> {
+  public static final class FooTypeAdapter implements JsonSerializer<Foo>, JsonDeserializer<Foo> {
+    @Override
     public Foo deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       return context.deserialize(json, typeOfT);
     }
 
+    @Override
     public JsonElement serialize(Foo src, Type typeOfSrc, JsonSerializationContext context) {
       return context.serialize(src, typeOfSrc);
     }
@@ -207,7 +211,7 @@
   public void testCustomSerializerInvokedForPrimitives() {
     Gson gson = new GsonBuilder()
         .registerTypeAdapter(boolean.class, new JsonSerializer<Boolean>() {
-          public JsonElement serialize(Boolean s, Type t, JsonSerializationContext c) {
+          @Override public JsonElement serialize(Boolean s, Type t, JsonSerializationContext c) {
             return new JsonPrimitive(s ? 1 : 0);
           }
         })
@@ -220,6 +224,7 @@
   public void testCustomDeserializerInvokedForPrimitives() {
     Gson gson = new GsonBuilder()
         .registerTypeAdapter(boolean.class, new JsonDeserializer() {
+          @Override
           public Object deserialize(JsonElement json, Type t, JsonDeserializationContext context) {
             return json.getAsInt() != 0;
           }
@@ -231,6 +236,7 @@
 
   public void testCustomByteArraySerializer() {
     Gson gson = new GsonBuilder().registerTypeAdapter(byte[].class, new JsonSerializer<byte[]>() {
+      @Override
       public JsonElement serialize(byte[] src, Type typeOfSrc, JsonSerializationContext context) {
         StringBuilder sb = new StringBuilder(src.length);
         for (byte b : src) {
@@ -247,8 +253,8 @@
   public void testCustomByteArrayDeserializerAndInstanceCreator() {
     GsonBuilder gsonBuilder = new GsonBuilder().registerTypeAdapter(byte[].class,
         new JsonDeserializer<byte[]>() {
-      public byte[] deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
-          throws JsonParseException {
+          @Override public byte[] deserialize(JsonElement json,
+              Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
         String str = json.getAsString();
         byte[] data = new byte[str.length()];
         for (int i = 0; i < data.length; ++i) {
@@ -266,7 +272,7 @@
     }
   }
 
-  private static class StringHolder {
+  private static final class StringHolder {
     String part1;
     String part2;
 
@@ -284,17 +290,17 @@
   private static class StringHolderTypeAdapter implements JsonSerializer<StringHolder>,
       JsonDeserializer<StringHolder>, InstanceCreator<StringHolder> {
 
-    public StringHolder createInstance(Type type) {
+    @Override public StringHolder createInstance(Type type) {
       //Fill up with objects that will be thrown away
       return new StringHolder("unknown:thing");
     }
 
-    public StringHolder deserialize(JsonElement src, Type type,
+    @Override public StringHolder deserialize(JsonElement src, Type type,
         JsonDeserializationContext context) {
       return new StringHolder(src.getAsString());
     }
 
-    public JsonElement serialize(StringHolder src, Type typeOfSrc,
+    @Override public JsonElement serialize(StringHolder src, Type typeOfSrc,
         JsonSerializationContext context) {
       String contents = src.part1 + ':' + src.part2;
       return new JsonPrimitive(contents);
@@ -423,6 +429,7 @@
   }
 
   private static class DataHolderSerializer implements JsonSerializer<DataHolder> {
+    @Override
     public JsonElement serialize(DataHolder src, Type typeOfSrc, JsonSerializationContext context) {
       JsonObject obj = new JsonObject();
       obj.addProperty("myData", src.data);
@@ -431,6 +438,7 @@
   }
 
   private static class DataHolderDeserializer implements JsonDeserializer<DataHolder> {
+    @Override
     public DataHolder deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       JsonObject jsonObj = json.getAsJsonObject();
@@ -443,12 +451,13 @@
   }
 
   private static class DateTypeAdapter implements JsonSerializer<Date>, JsonDeserializer<Date> {
-    public Date deserialize(JsonElement json, Type typeOfT,
-        JsonDeserializationContext context) throws JsonParseException {
+    @Override
+    public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
       return typeOfT == Date.class
           ? new Date(json.getAsLong())
           : new java.sql.Date(json.getAsLong());
     }
+    @Override
     public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext context) {
       return new JsonPrimitive(src.getTime());
     }
diff --git a/gson/src/test/java/com/google/gson/functional/DelegateTypeAdapterTest.java b/gson/src/test/java/com/google/gson/functional/DelegateTypeAdapterTest.java
index 885330d..f89148e 100644
--- a/gson/src/test/java/com/google/gson/functional/DelegateTypeAdapterTest.java
+++ b/gson/src/test/java/com/google/gson/functional/DelegateTypeAdapterTest.java
@@ -39,6 +39,8 @@
 
   private StatsTypeAdapterFactory stats;
   private Gson gson;
+
+  @Override
   protected void setUp() throws Exception {
     super.setUp();
     stats = new StatsTypeAdapterFactory();
@@ -72,7 +74,7 @@
     public int numReads = 0;
     public int numWrites = 0;
 
-    public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
       final TypeAdapter<T> delegate = gson.getDelegateAdapter(this, type);
       return new TypeAdapter<T>() {
         @Override
diff --git a/gson/src/test/java/com/google/gson/functional/EnumTest.java b/gson/src/test/java/com/google/gson/functional/EnumTest.java
index 2c21526..4a9f05b 100644
--- a/gson/src/test/java/com/google/gson/functional/EnumTest.java
+++ b/gson/src/test/java/com/google/gson/functional/EnumTest.java
@@ -182,11 +182,11 @@
 
   private static class MyEnumTypeAdapter
       implements JsonSerializer<Roshambo>, JsonDeserializer<Roshambo> {
-    public JsonElement serialize(Roshambo src, Type typeOfSrc, JsonSerializationContext context) {
+    @Override public JsonElement serialize(Roshambo src, Type typeOfSrc, JsonSerializationContext context) {
       return new JsonPrimitive("123" + src.name());
     }
 
-    public Roshambo deserialize(JsonElement json, Type classOfT, JsonDeserializationContext context)
+    @Override public Roshambo deserialize(JsonElement json, Type classOfT, JsonDeserializationContext context)
         throws JsonParseException {
       return Roshambo.valueOf(json.getAsString().substring(3));
     }
diff --git a/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java b/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
index baeab84..2eca8bb 100644
--- a/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
+++ b/gson/src/test/java/com/google/gson/functional/ExclusionStrategyFunctionalTest.java
@@ -37,10 +37,10 @@
  */
 public class ExclusionStrategyFunctionalTest extends TestCase {
   private static final ExclusionStrategy EXCLUDE_SAMPLE_OBJECT_FOR_TEST = new ExclusionStrategy() {
-    public boolean shouldSkipField(FieldAttributes f) {
+    @Override public boolean shouldSkipField(FieldAttributes f) {
       return false;
     }
-    public boolean shouldSkipClass(Class<?> clazz) {
+    @Override public boolean shouldSkipClass(Class<?> clazz) {
       return clazz == SampleObjectForTest.class;
     }
   };
@@ -184,18 +184,18 @@
     }
   }
 
-  private static class MyExclusionStrategy implements ExclusionStrategy {
+  private static final class MyExclusionStrategy implements ExclusionStrategy {
     private final Class<?> typeToSkip;
 
     private MyExclusionStrategy(Class<?> typeToSkip) {
       this.typeToSkip = typeToSkip;
     }
 
-    public boolean shouldSkipClass(Class<?> clazz) {
+    @Override public boolean shouldSkipClass(Class<?> clazz) {
       return (clazz == typeToSkip);
     }
 
-    public boolean shouldSkipField(FieldAttributes f) {
+    @Override public boolean shouldSkipField(FieldAttributes f) {
       return f.getAnnotation(Foo.class) != null;
     }
   }
diff --git a/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java b/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java
index 0ec5c43..0430ba4 100644
--- a/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java
+++ b/gson/src/test/java/com/google/gson/functional/ExposeFieldsTest.java
@@ -153,7 +153,7 @@
   }
   
   private static class SomeInterfaceInstanceCreator implements InstanceCreator<SomeInterface> {
-    public SomeInterface createInstance(Type type) {
+    @Override public SomeInterface createInstance(Type type) {
       return new SomeObject();
     }
   }
diff --git a/gson/src/test/java/com/google/gson/functional/InstanceCreatorTest.java b/gson/src/test/java/com/google/gson/functional/InstanceCreatorTest.java
index 0fda10a..aad55ee 100644
--- a/gson/src/test/java/com/google/gson/functional/InstanceCreatorTest.java
+++ b/gson/src/test/java/com/google/gson/functional/InstanceCreatorTest.java
@@ -43,7 +43,7 @@
   public void testInstanceCreatorReturnsBaseType() {
     Gson gson = new GsonBuilder()
       .registerTypeAdapter(Base.class, new InstanceCreator<Base>() {
-       public Base createInstance(Type type) {
+        @Override public Base createInstance(Type type) {
          return new Base();
        }
       })
@@ -56,7 +56,7 @@
   public void testInstanceCreatorReturnsSubTypeForTopLevelObject() {
     Gson gson = new GsonBuilder()
     .registerTypeAdapter(Base.class, new InstanceCreator<Base>() {
-      public Base createInstance(Type type) {
+      @Override public Base createInstance(Type type) {
         return new Sub();
       }
     })
@@ -74,7 +74,7 @@
   public void testInstanceCreatorReturnsSubTypeForField() {
     Gson gson = new GsonBuilder()
     .registerTypeAdapter(Base.class, new InstanceCreator<Base>() {
-      public Base createInstance(Type type) {
+      @Override public Base createInstance(Type type) {
         return new Sub();
       }
     })
@@ -90,7 +90,7 @@
     @SuppressWarnings("serial")
     class SubArrayList<T> extends ArrayList<T> {}
     InstanceCreator<List<String>> listCreator = new InstanceCreator<List<String>>() {
-      public List<String> createInstance(Type type) {
+      @Override public List<String> createInstance(Type type) {
         return new SubArrayList<String>();
       }
     };
@@ -107,7 +107,7 @@
     @SuppressWarnings("serial")
     class SubTreeSet<T> extends TreeSet<T> {}
     InstanceCreator<SortedSet> sortedSetCreator = new InstanceCreator<SortedSet>() {
-      public SortedSet createInstance(Type type) {
+      @Override public SortedSet createInstance(Type type) {
         return new SubTreeSet();
       }
     };
diff --git a/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnClassesTest.java b/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnClassesTest.java
index 1b9800d..d079841 100644
--- a/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnClassesTest.java
+++ b/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnClassesTest.java
@@ -157,7 +157,7 @@
       this.value = value;
     }
     static final class JsonAdapterFactory implements TypeAdapterFactory {
-      public <T> TypeAdapter<T> create(Gson gson, final TypeToken<T> type) {
+      @Override public <T> TypeAdapter<T> create(Gson gson, final TypeToken<T> type) {
         return new TypeAdapter<T>() {
           @Override public void write(JsonWriter out, T value) throws IOException {
             out.value("jsonAdapterFactory");
diff --git a/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnFieldsTest.java b/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnFieldsTest.java
index d3f097e..fb5121d 100644
--- a/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnFieldsTest.java
+++ b/gson/src/test/java/com/google/gson/functional/JsonAdapterAnnotationOnFieldsTest.java
@@ -116,7 +116,7 @@
   }
 
   private static class GizmoPartTypeAdapterFactory implements TypeAdapterFactory {
-    public <T> TypeAdapter<T> create(Gson gson, final TypeToken<T> type) {
+    @Override public <T> TypeAdapter<T> create(Gson gson, final TypeToken<T> type) {
       return new TypeAdapter<T>() {
         @Override public void write(JsonWriter out, T value) throws IOException {
           out.value("GizmoPartTypeAdapterFactory");
diff --git a/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java b/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java
index 8975c15..c3c0be1 100644
--- a/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java
+++ b/gson/src/test/java/com/google/gson/functional/NamingPolicyTest.java
@@ -149,11 +149,12 @@
     assertEquals("{\"@foo\":\"bar\"}", new Gson().toJson(new AtName()));
   }
 
-  static class AtName {
+  static final class AtName {
     @SerializedName("@foo") String f = "bar";
   }
 
-  private static class UpperCaseNamingStrategy implements FieldNamingStrategy {
+  private static final class UpperCaseNamingStrategy implements FieldNamingStrategy {
+    @Override
     public String translateName(Field f) {
       return f.getName().toUpperCase();
     }
diff --git a/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java b/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java
index 742ee22..7939a8c 100755
--- a/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java
+++ b/gson/src/test/java/com/google/gson/functional/NullObjectAndFieldTest.java
@@ -192,7 +192,7 @@
   }

   

   private static class ClassWithObjectsSerializer implements JsonSerializer<ClassWithObjects> {

-    public JsonElement serialize(ClassWithObjects src, Type typeOfSrc,

+    @Override public JsonElement serialize(ClassWithObjects src, Type typeOfSrc,

         JsonSerializationContext context) {

       JsonObject obj = new JsonObject();

       obj.add("bag", JsonNull.INSTANCE);

@@ -210,7 +210,7 @@
   public void testCustomTypeAdapterPassesNullSerialization() {

     Gson gson = new GsonBuilder()

         .registerTypeAdapter(ObjectWithField.class, new JsonSerializer<ObjectWithField>() {

-          public JsonElement serialize(ObjectWithField src, Type typeOfSrc,

+          @Override public JsonElement serialize(ObjectWithField src, Type typeOfSrc,

               JsonSerializationContext context) {

             return context.serialize(null);

           }

@@ -224,7 +224,7 @@
   public void testCustomTypeAdapterPassesNullDesrialization() {

     Gson gson = new GsonBuilder()

         .registerTypeAdapter(ObjectWithField.class, new JsonDeserializer<ObjectWithField>() {

-          public ObjectWithField deserialize(JsonElement json, Type type,

+          @Override public ObjectWithField deserialize(JsonElement json, Type type,

               JsonDeserializationContext context) {

             return context.deserialize(null, type);

           }

diff --git a/gson/src/test/java/com/google/gson/functional/RuntimeTypeAdapterFactoryFunctionalTest.java b/gson/src/test/java/com/google/gson/functional/RuntimeTypeAdapterFactoryFunctionalTest.java
index c3b0898..7959fc8 100644
--- a/gson/src/test/java/com/google/gson/functional/RuntimeTypeAdapterFactoryFunctionalTest.java
+++ b/gson/src/test/java/com/google/gson/functional/RuntimeTypeAdapterFactoryFunctionalTest.java
@@ -146,7 +146,7 @@
       return registerSubtype(type, type.getSimpleName());
     }
 
-    public <R> TypeAdapter<R> create(Gson gson, TypeToken<R> type) {
+    @Override public <R> TypeAdapter<R> create(Gson gson, TypeToken<R> type) {
       if (type.getRawType() != baseType) {
         return null;
       }
diff --git a/gson/src/test/java/com/google/gson/functional/TreeTypeAdaptersTest.java b/gson/src/test/java/com/google/gson/functional/TreeTypeAdaptersTest.java
index 53d1c5c..ad737ec 100644
--- a/gson/src/test/java/com/google/gson/functional/TreeTypeAdaptersTest.java
+++ b/gson/src/test/java/com/google/gson/functional/TreeTypeAdaptersTest.java
@@ -94,6 +94,7 @@
       JsonDeserializer<Id<?>> {
 
     @SuppressWarnings("rawtypes")
+    @Override
     public Id<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       if (!(typeOfT instanceof ParameterizedType)) {
@@ -106,6 +107,7 @@
       return new Id(json.getAsString(), typeOfId);
     }
 
+    @Override
     public JsonElement serialize(Id<?> src, Type typeOfSrc, JsonSerializationContext context) {
       return new JsonPrimitive(src.getValue());
     }
diff --git a/gson/src/test/java/com/google/gson/functional/TypeAdapterPrecedenceTest.java b/gson/src/test/java/com/google/gson/functional/TypeAdapterPrecedenceTest.java
index 2f13f66..5f88153 100644
--- a/gson/src/test/java/com/google/gson/functional/TypeAdapterPrecedenceTest.java
+++ b/gson/src/test/java/com/google/gson/functional/TypeAdapterPrecedenceTest.java
@@ -122,6 +122,7 @@
 
   private JsonSerializer<Foo> newSerializer(final String name) {
     return new JsonSerializer<Foo>() {
+      @Override
       public JsonElement serialize(Foo src, Type typeOfSrc, JsonSerializationContext context) {
         return new JsonPrimitive(src.name + " via " + name);
       }
@@ -130,6 +131,7 @@
 
   private JsonDeserializer<Foo> newDeserializer(final String name) {
     return new JsonDeserializer<Foo>() {
+      @Override
       public Foo deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
         return new Foo(json.getAsString() + " via " + name);
       }
diff --git a/gson/src/test/java/com/google/gson/functional/TypeHierarchyAdapterTest.java b/gson/src/test/java/com/google/gson/functional/TypeHierarchyAdapterTest.java
index aa2f8f8..25b9c34 100644
--- a/gson/src/test/java/com/google/gson/functional/TypeHierarchyAdapterTest.java
+++ b/gson/src/test/java/com/google/gson/functional/TypeHierarchyAdapterTest.java
@@ -140,18 +140,18 @@
   }
 
   static class ManagerAdapter implements JsonSerializer<Manager>, JsonDeserializer<Manager> {
-    public Manager deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
+    @Override public Manager deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
       Manager result = new Manager();
       result.userid = json.getAsString();
       return result;
     }
-    public JsonElement serialize(Manager src, Type typeOfSrc, JsonSerializationContext context) {
+    @Override public JsonElement serialize(Manager src, Type typeOfSrc, JsonSerializationContext context) {
       return new JsonPrimitive(src.userid);
     }
   }
 
   static class EmployeeAdapter implements JsonSerializer<Employee>, JsonDeserializer<Employee> {
-    public JsonElement serialize(Employee employee, Type typeOfSrc,
+    @Override public JsonElement serialize(Employee employee, Type typeOfSrc,
         JsonSerializationContext context) {
       JsonObject result = new JsonObject();
       result.add("userid", context.serialize(employee.userid, String.class));
@@ -165,7 +165,7 @@
       return result;
     }
 
-    public Employee deserialize(JsonElement json, Type typeOfT,
+    @Override public Employee deserialize(JsonElement json, Type typeOfT,
         JsonDeserializationContext context) throws JsonParseException {
       JsonObject object = json.getAsJsonObject();
       Employee result = null;
diff --git a/gson/src/test/java/com/google/gson/functional/UncategorizedTest.java b/gson/src/test/java/com/google/gson/functional/UncategorizedTest.java
index 62c7fa0..0ac0380 100644
--- a/gson/src/test/java/com/google/gson/functional/UncategorizedTest.java
+++ b/gson/src/test/java/com/google/gson/functional/UncategorizedTest.java
@@ -118,7 +118,7 @@
     Derived2() { opType = OperationType.OP2; }
   }
   private static class BaseTypeAdapter implements JsonDeserializer<Base> {
-    public Base deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
+    @Override public Base deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
         throws JsonParseException {
       String opTypeStr = json.getAsJsonObject().get("opType").getAsString();
       OperationType opType = OperationType.valueOf(opTypeStr);