Adds missing @Override annotations.

Change-Id: Ia66b13f989c6ee97cd38ee4c259a6feaab774291
diff --git a/dev/core/src/com/google/gwt/core/ext/DefaultConfigurationProperty.java b/dev/core/src/com/google/gwt/core/ext/DefaultConfigurationProperty.java
index 5948806..cd4b2a3 100644
--- a/dev/core/src/com/google/gwt/core/ext/DefaultConfigurationProperty.java
+++ b/dev/core/src/com/google/gwt/core/ext/DefaultConfigurationProperty.java
@@ -57,10 +57,12 @@
         && values.equals(other.values);
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public List<String> getValues() {
     return values;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/DefaultSelectionProperty.java b/dev/core/src/com/google/gwt/core/ext/DefaultSelectionProperty.java
index bf6cafd..e7d2649 100644
--- a/dev/core/src/com/google/gwt/core/ext/DefaultSelectionProperty.java
+++ b/dev/core/src/com/google/gwt/core/ext/DefaultSelectionProperty.java
@@ -90,22 +90,27 @@
         && possibleValues.equals(other.possibleValues);
   }
 
+  @Override
   public String getCurrentValue() {
     return currentValue;
   }
 
+  @Override
   public String getFallbackValue() {
     return fallbackValue;
   }
 
+  @Override
   public List<? extends Set<String>> getFallbackValues(String value) {
     return (null != fallbackValueMap) ? fallbackValueMap.get(value) : null;
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public SortedSet<String> getPossibleValues() {
     return possibleValues;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/Artifact.java b/dev/core/src/com/google/gwt/core/ext/linker/Artifact.java
index 185246c..09b5dc4 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/Artifact.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/Artifact.java
@@ -44,6 +44,7 @@
     this.linker = linker;
   }
 
+  @Override
   public final int compareTo(Artifact<?> o) {
     if (getComparableArtifactType().equals(o.getComparableArtifactType())) {
       return compareToComparableArtifact(getComparableArtifactType().cast(o));
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/ArtifactSet.java b/dev/core/src/com/google/gwt/core/ext/linker/ArtifactSet.java
index c3bdc5a..9764cee 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/ArtifactSet.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/ArtifactSet.java
@@ -37,26 +37,32 @@
     addAll(copyFrom);
   }
 
+  @Override
   public boolean add(Artifact<?> o) {
     return treeSet.add(o);
   }
 
+  @Override
   public boolean addAll(Collection<? extends Artifact<?>> c) {
     return treeSet.addAll(c);
   }
 
+  @Override
   public void clear() {
     treeSet.clear();
   }
 
+  @Override
   public Comparator<? super Artifact<?>> comparator() {
     return treeSet.comparator();
   }
 
+  @Override
   public boolean contains(Object o) {
     return treeSet.contains(o);
   }
 
+  @Override
   public boolean containsAll(Collection<?> c) {
     return treeSet.containsAll(c);
   }
@@ -93,6 +99,7 @@
     return toReturn;
   }
 
+  @Override
   public Artifact<?> first() {
     return treeSet.first();
   }
@@ -113,26 +120,32 @@
     return treeSet.hashCode();
   }
 
+  @Override
   public SortedSet<Artifact<?>> headSet(Artifact<?> toElement) {
     return treeSet.headSet(toElement);
   }
 
+  @Override
   public boolean isEmpty() {
     return treeSet.isEmpty();
   }
 
+  @Override
   public Iterator<Artifact<?>> iterator() {
     return treeSet.iterator();
   }
 
+  @Override
   public Artifact<?> last() {
     return treeSet.last();
   }
 
+  @Override
   public boolean remove(Object o) {
     return treeSet.remove(o);
   }
 
+  @Override
   public boolean removeAll(Collection<?> c) {
     return treeSet.removeAll(c);
   }
@@ -149,27 +162,33 @@
     return toReturn;
   }
 
+  @Override
   public boolean retainAll(Collection<?> c) {
     return treeSet.retainAll(c);
   }
 
+  @Override
   public int size() {
     return treeSet.size();
   }
 
+  @Override
   public SortedSet<Artifact<?>> subSet(Artifact<?> fromElement,
       Artifact<?> toElement) {
     return treeSet.subSet(fromElement, toElement);
   }
 
+  @Override
   public SortedSet<Artifact<?>> tailSet(Artifact<?> fromElement) {
     return treeSet.tailSet(fromElement);
   }
 
+  @Override
   public Object[] toArray() {
     return treeSet.toArray();
   }
 
+  @Override
   public <T> T[] toArray(T[] a) {
     return treeSet.toArray(a);
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/SymbolData.java b/dev/core/src/com/google/gwt/core/ext/linker/SymbolData.java
index 4be3a85..baa83e8 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/SymbolData.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/SymbolData.java
@@ -39,6 +39,7 @@
    * orders SymbolData objects by their class names or JSNI idents.
    */
   class ClassIdentComparator implements Comparator<SymbolData>, Serializable {
+    @Override
     public int compare(SymbolData o1, SymbolData o2) {
       if (o1 == o2) {
         return 0;
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCastableTypeMap.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCastableTypeMap.java
index 0ded30e..e9d2d03 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCastableTypeMap.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCastableTypeMap.java
@@ -30,6 +30,7 @@
     this.jsonData = jsonData.equals(EMPTY_JSON_REF) ? EMPTY_JSON_REF : jsonData;
   }
 
+  @Override
   public String toJs() {
     return jsonData;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardConfigurationProperty.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardConfigurationProperty.java
index 2097b55..7c11000 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardConfigurationProperty.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardConfigurationProperty.java
@@ -42,19 +42,23 @@
     }
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   @Deprecated
   public String getValue() {
     return values.isEmpty() ? null : values.get(0);
   }
 
+  @Override
   public List<String> getValues() {
     return values;
   }
 
+  @Override
   public boolean hasMultipleValues() {
     return values.size() > 1;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardGeneratedResource.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardGeneratedResource.java
index bd88465..783bdcb 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardGeneratedResource.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardGeneratedResource.java
@@ -59,6 +59,7 @@
     return new ByteArrayInputStream(diskCache.readByteArray(token));
   }
 
+  @Override
   public long getLastModified() {
     return lastModified;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java
index c5a356d..74efe2d 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardLinkerContext.java
@@ -100,12 +100,14 @@
 
   public static final Comparator<ConfigurationProperty> CONFIGURATION_PROPERTY_COMPARATOR =
       new Comparator<ConfigurationProperty>() {
+        @Override
         public int compare(ConfigurationProperty o1, ConfigurationProperty o2) {
           return o1.getName().compareTo(o2.getName());
         }
       };
 
   static final Comparator<SelectionProperty> SELECTION_PROPERTY_COMPARATOR = new Comparator<SelectionProperty>() {
+    @Override
     public int compare(SelectionProperty o1, SelectionProperty o2) {
       return o1.getName().compareTo(o2.getName());
     }
@@ -281,6 +283,7 @@
     return artifacts;
   }
 
+  @Override
   public SortedSet<ConfigurationProperty> getConfigurationProperties() {
     return configurationProperties;
   }
@@ -303,18 +306,22 @@
     return linkerShortNames.get(linkerType) + '/' + partialPath;
   }
 
+  @Override
   public String getModuleFunctionName() {
     return moduleFunctionName;
   }
 
+  @Override
   public long getModuleLastModified() {
     return moduleLastModified;
   }
 
+  @Override
   public String getModuleName() {
     return moduleName;
   }
 
+  @Override
   public SortedSet<SelectionProperty> getProperties() {
     return selectionProperties;
   }
@@ -410,6 +417,7 @@
     return workingArtifacts;
   }
 
+  @Override
   public boolean isOutputCompact() {
     return jjsOptions.getOutput().shouldMinimize();
   }
@@ -420,6 +428,7 @@
     throw new UnsupportedOperationException();
   }
 
+  @Override
   public String optimizeJavaScript(TreeLogger logger, String program)
       throws UnableToCompleteException {
     logger = logger.branch(TreeLogger.DEBUG, "Attempting to optimize JS", null);
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSelectionProperty.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSelectionProperty.java
index f50ae60..060fbfb 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSelectionProperty.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSelectionProperty.java
@@ -54,18 +54,22 @@
         Arrays.asList(p.getDefinedValues())));
   }
 
+  @Override
   public String getFallbackValue() {
     return fallback;
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public SortedSet<String> getPossibleValues() {
     return values;
   }
 
+  @Override
   public String getPropertyProvider(TreeLogger logger,
       SortedSet<ConfigurationProperty> configProperties)
       throws UnableToCompleteException {
@@ -89,6 +93,7 @@
     return generatorResult != null ? generatorResult : provider;
   }
 
+  @Override
   public boolean isDerived() {
     return isDerived;
   }
@@ -104,6 +109,7 @@
     return b.toString();
   }
 
+  @Override
   public String tryGetValue() {
     return activeValue;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSymbolData.java b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSymbolData.java
index d1344a6..2ccd69f 100644
--- a/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSymbolData.java
+++ b/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardSymbolData.java
@@ -84,18 +84,22 @@
     this.seedId = seedId;
   }
   
+  @Override
   public CastableTypeMap getCastableTypeMap() {
     return castableTypeMap;
   }
 
+  @Override
   public String getClassName() {
     return className;
   }
 
+  @Override
   public int getFragmentNumber() {
     return fragmentNumber;
   }
 
+  @Override
   public String getJsniIdent() {
     if (memberName == null) {
       return null;
@@ -106,38 +110,47 @@
     return className + "::" + memberName + methodSig;
   }
 
+  @Override
   public String getMemberName() {
     return memberName;
   }
 
+  @Override
   public int getQueryId() {
     return queryId;
   }
 
+  @Override
   public int getSeedId() {
     return seedId;
   }
 
+  @Override
   public int getSourceLine() {
     return sourceLine;
   }
 
+  @Override
   public String getSourceUri() {
     return sourceUri;
   }
 
+  @Override
   public String getSymbolName() {
     return symbolName;
   }
 
+  @Override
   public boolean isClass() {
     return memberName == null;
   }
 
+  @Override
   public boolean isField() {
     return memberName != null && methodSig == null;
   }
 
+  @Override
   public boolean isMethod() {
     return methodSig != null;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/Range.java b/dev/core/src/com/google/gwt/core/ext/soyc/Range.java
index 9239310..d05b203 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/Range.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/Range.java
@@ -29,6 +29,7 @@
    * it.
    */
   public static final Comparator<Range> DEPENDENCY_ORDER_COMPARATOR = new Comparator<Range>() {
+    @Override
     public int compare(Range o1, Range o2) {
       int a = o1.start - o2.start;
       if (a != 0) {
@@ -44,6 +45,7 @@
    * based on start position and end position.
    */
   public static final Comparator<Range> SOURCE_ORDER_COMPARATOR = new Comparator<Range>() {
+    @Override
     public int compare(Range o1, Range o2) {
       int a = o1.start - o2.start;
       if (a != 0) {
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java b/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java
index a6542f8..6741313 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/SourceNameComparator.java
@@ -23,6 +23,7 @@
  * use {@link Member#SOURCE_NAME_COMPARATOR}.
  */
 class SourceNameComparator implements Comparator<Member>, Serializable {
+  @Override
   public int compare(Member o1, Member o2) {
     return o1.getSourceName().compareTo(o2.getSourceName());
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java b/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java
index 52dab69..505a98e 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/TypeAndSourceNameComparator.java
@@ -23,6 +23,7 @@
  * use {@link Member#TYPE_AND_SOURCE_NAME_COMPARATOR}.
  */
 class TypeAndSourceNameComparator implements Comparator<Member>, Serializable {
+  @Override
   public int compare(Member o1, Member o2) {
     int r = o1.getClass().getName().compareTo(o2.getClass().getName());
     if (r != 0) {
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/coderef/DependencyGraphRecorder.java b/dev/core/src/com/google/gwt/core/ext/soyc/coderef/DependencyGraphRecorder.java
index b364bc3..a010419 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/coderef/DependencyGraphRecorder.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/coderef/DependencyGraphRecorder.java
@@ -55,12 +55,14 @@
     return this.codeModel;
   }
 
+  @Override
   public void startDependencyGraph(String name, String extendz) {
     super.startDependencyGraph(name, extendz);
 
     currentGraph = name;
   }
 
+  @Override
   protected void printMethodDependencyBetween(JMethod curMethod, JMethod depMethod) {
     super.printMethodDependencyBetween(curMethod, depMethod);
 
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMember.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMember.java
index 2b174a7..ffe9004 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMember.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMember.java
@@ -25,16 +25,20 @@
  */
 public abstract class AbstractMember implements Member {
 
+  @Override
   public abstract String getSourceName();
 
+  @Override
   public ClassMember isClass() {
     return this instanceof ClassMember ? (ClassMember) this : null;
   }
 
+  @Override
   public FieldMember isField() {
     return this instanceof FieldMember ? (FieldMember) this : null;
   }
 
+  @Override
   public MethodMember isMethod() {
     return this instanceof MethodMember ? (MethodMember) this : null;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMemberWithDependencies.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMemberWithDependencies.java
index fd1eef9..8a91a16 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMemberWithDependencies.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/AbstractMemberWithDependencies.java
@@ -41,6 +41,7 @@
     return dependencies.add(member);
   }
 
+  @Override
   public SortedSet<Member> getDependencies() {
     return dependenciesView;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java
index f40120a..032fac4 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/DependencyRecorder.java
@@ -55,6 +55,7 @@
     this.finalOutput = out;
   }
 
+  @Override
   public void close() {
     printPost();
     flushOutput();
@@ -65,6 +66,7 @@
     }
   }
 
+  @Override
   public void endDependencyGraph() {
     builder.append("</table>");
     flushOutput();
@@ -73,10 +75,12 @@
   /**
    * Used to record the dependencies of a specific method.
    */
+  @Override
   public void methodIsLiveBecause(JMethod liveMethod, ArrayList<JMethod> dependencyChain) {
     printMethodDependency(dependencyChain);
   }
 
+  @Override
   public void open() {
     try {
       this.writer = new OutputStreamWriter(new GZIPOutputStream(finalOutput), "UTF-8");
@@ -89,6 +93,7 @@
     printPre();
   }
 
+  @Override
   public void startDependencyGraph(String identifier, String extnds) {
     builder.append("<table name=\"");
     builder.append(identifier);
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/SizeMapRecorder.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/SizeMapRecorder.java
index 4a1db2d..1669fdb 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/SizeMapRecorder.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/SizeMapRecorder.java
@@ -65,6 +65,7 @@
    * Sorts by JsName.getIdent().
    */
   private static final Comparator<JsName> JSNAME_SORT = new Comparator<JsName>() {
+    @Override
     public int compare(JsName o1, JsName o2) {
       return o1.getIdent().compareTo(o2.getIdent());
     }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardClassMember.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardClassMember.java
index b011d54..d5ee4b9 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardClassMember.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardClassMember.java
@@ -69,10 +69,12 @@
     methods.add(method);
   }
 
+  @Override
   public SortedSet<FieldMember> getFields() {
     return fieldsView;
   }
 
+  @Override
   public SortedSet<MethodMember> getMethods() {
     return methodsView;
   }
@@ -86,6 +88,7 @@
     }
   }
 
+  @Override
   public String getPackage() {
     return packageName;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardFieldMember.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardFieldMember.java
index 522f599..7c05f9e 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardFieldMember.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardFieldMember.java
@@ -34,6 +34,7 @@
     this.sourceName = field.getEnclosingType().getName() + "::" + field.getName();
   }
 
+  @Override
   public ClassMember getEnclosing() {
     return enclosing;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardMethodMember.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardMethodMember.java
index 6e54d0c..31aef05 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardMethodMember.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StandardMethodMember.java
@@ -44,6 +44,7 @@
     this.sourceName = sb.toString();
   }
 
+  @Override
   public ClassMember getEnclosing() {
     return enclosing;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImpl.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImpl.java
index 3c4e3b5..ec13b46 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImpl.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImpl.java
@@ -100,10 +100,12 @@
     return length;
   }
 
+  @Override
   public String getLiteralTypeName() {
     return literalDescription;
   }
 
+  @Override
   public SortedSet<Member> getMembers() {
     return members;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java
index cc5e3e3..eade5b3 100644
--- a/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java
+++ b/dev/core/src/com/google/gwt/core/ext/soyc/impl/StoryImplComparator.java
@@ -24,6 +24,7 @@
  * Exists as a real class to allow TreeMaps to be serialized.
  */
 public class StoryImplComparator implements Comparator<Story>, Serializable {
+  @Override
   public int compare(Story o1, Story o2) {
     return ((StoryImpl) o1).getId() - ((StoryImpl) o2).getId();
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/typeinfo/JAnnotationType.java b/dev/core/src/com/google/gwt/core/ext/typeinfo/JAnnotationType.java
index f6827d9..c9dc067 100644
--- a/dev/core/src/com/google/gwt/core/ext/typeinfo/JAnnotationType.java
+++ b/dev/core/src/com/google/gwt/core/ext/typeinfo/JAnnotationType.java
@@ -19,6 +19,7 @@
  * Type representing an annotation type.
  */
 public interface JAnnotationType extends JRealClassType {
+  @Override
   JAnnotationMethod getMethod(String name, JType[] paramTypes)
       throws NotFoundException;
 }
diff --git a/dev/core/src/com/google/gwt/core/ext/typeinfo/JArrayType.java b/dev/core/src/com/google/gwt/core/ext/typeinfo/JArrayType.java
index 0e92f19..094c5aa 100644
--- a/dev/core/src/com/google/gwt/core/ext/typeinfo/JArrayType.java
+++ b/dev/core/src/com/google/gwt/core/ext/typeinfo/JArrayType.java
@@ -23,5 +23,6 @@
 
   int getRank();
 
+  @Override
   JArrayType[] getSubtypes();
 }
diff --git a/dev/core/src/com/google/gwt/core/ext/typeinfo/JClassType.java b/dev/core/src/com/google/gwt/core/ext/typeinfo/JClassType.java
index bb48089..1b9393f 100644
--- a/dev/core/src/com/google/gwt/core/ext/typeinfo/JClassType.java
+++ b/dev/core/src/com/google/gwt/core/ext/typeinfo/JClassType.java
@@ -66,6 +66,7 @@
    */
   JClassType getEnclosingType();
 
+  @Override
   JClassType getErasedType();
 
   JField getField(String name);
diff --git a/dev/core/src/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java b/dev/core/src/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java
index a14435d..89fa0e0 100644
--- a/dev/core/src/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java
+++ b/dev/core/src/com/google/gwt/core/ext/typeinfo/JPrimitiveType.java
@@ -74,22 +74,27 @@
     this.defaultValue = defaultValue;
   }
 
+  @Override
   public JType getErasedType() {
     return this;
   }
 
+  @Override
   public String getJNISignature() {
     return jni;
   }
 
+  @Override
   public JType getLeafType() {
     return this;
   }
 
+  @Override
   public String getParameterizedQualifiedSourceName() {
     return name;
   }
 
+  @Override
   public String getQualifiedBinaryName() {
     return name;
   }
@@ -98,10 +103,12 @@
     return "java.lang." + boxedName;
   }
 
+  @Override
   public String getQualifiedSourceName() {
     return name;
   }
 
+  @Override
   public String getSimpleSourceName() {
     return name;
   }
@@ -110,50 +117,62 @@
     return defaultValue;
   }
 
+  @Override
   public JAnnotationType isAnnotation() {
     return null;
   }
 
+  @Override
   public JArrayType isArray() {
     return null;
   }
 
+  @Override
   public JClassType isClass() {
     return null;
   }
 
+  @Override
   public JClassType isClassOrInterface() {
     return null;
   }
 
+  @Override
   public JEnumType isEnum() {
     return null;
   }
 
+  @Override
   public JGenericType isGenericType() {
     return null;
   }
 
+  @Override
   public JClassType isInterface() {
     return null;
   }
 
+  @Override
   public JParameterizedType isParameterized() {
     return null;
   }
 
+  @Override
   public JPrimitiveType isPrimitive() {
     return this;
   }
 
+  @Override
   public JRawType isRawType() {
     return null;
   }
 
+  @Override
   public JTypeParameter isTypeParameter() {
     return null;
   }
 
+  @Override
   public JWildcardType isWildcard() {
     return null;
   }
diff --git a/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java b/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
index 9ddbcdb..9963297 100644
--- a/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
+++ b/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
@@ -59,6 +59,7 @@
    */
   public static void sort(JClassType[] types) {
     Arrays.sort(types, new Comparator<JClassType>() {
+      @Override
       public int compare(JClassType type1, JClassType type2) {
         String name1 = type1.getQualifiedSourceName();
         String name2 = type2.getQualifiedSourceName();
@@ -74,6 +75,7 @@
    */
   public static void sort(JConstructor[] ctors) {
     Arrays.sort(ctors, new Comparator<JConstructor>() {
+      @Override
       public int compare(JConstructor o1, JConstructor o2) {
         // Nothing for now; could enhance to sort based on parameter list
         return 0;
@@ -88,6 +90,7 @@
    */
   public static void sort(JField[] fields) {
     Arrays.sort(fields, new Comparator<JField>() {
+      @Override
       public int compare(JField f1, JField f2) {
         String name1 = f1.getName();
         String name2 = f2.getName();
@@ -103,6 +106,7 @@
    */
   public static void sort(JMethod[] methods) {
     Arrays.sort(methods, new Comparator<JMethod>() {
+      @Override
       public int compare(JMethod m1, JMethod m2) {
         String name1 = m1.getName();
         String name2 = m2.getName();
diff --git a/dev/core/src/com/google/gwt/dev/CompilePermsServer.java b/dev/core/src/com/google/gwt/dev/CompilePermsServer.java
index 3533835..9920712 100644
--- a/dev/core/src/com/google/gwt/dev/CompilePermsServer.java
+++ b/dev/core/src/com/google/gwt/dev/CompilePermsServer.java
@@ -193,36 +193,44 @@
       setLogLevel(other.getLogLevel());
     }
 
+    @Override
     public String getCompileHost() {
       return compileHost;
     }
 
+    @Override
     public int getCompilePort() {
       return compilePort;
     }
 
+    @Override
     public String getCookie() {
       return cookie;
     }
 
+    @Override
     public Type getLogLevel() {
       return logLevel;
     }
 
+    @Override
     public void setCompileHost(String host) {
       assert host != null;
       compileHost = host;
     }
 
+    @Override
     public void setCompilePort(int port) {
       assert port > 0;
       compilePort = port;
     }
 
+    @Override
     public void setCookie(String cookie) {
       this.cookie = cookie;
     }
 
+    @Override
     public void setLogLevel(Type logLevel) {
       this.logLevel = logLevel;
     }
diff --git a/dev/core/src/com/google/gwt/dev/DevMode.java b/dev/core/src/com/google/gwt/dev/DevMode.java
index f3c955e..b1887dd 100644
--- a/dev/core/src/com/google/gwt/dev/DevMode.java
+++ b/dev/core/src/com/google/gwt/dev/DevMode.java
@@ -355,6 +355,7 @@
   /**
    * Called by the UI on a restart server event.
    */
+  @Override
   public void onRestartServer(TreeLogger logger) {
     try {
       server.refresh();
@@ -421,6 +422,7 @@
   protected boolean doStartup() {
     // Background scan the classpath to warm the cache.
     Thread scanThread = new Thread(new Runnable() {
+      @Override
       public void run() {
         ResourceOracleImpl.preload(TreeLogger.NULL);
       }
@@ -552,6 +554,7 @@
       return;
     }
     for (File htmlFile : warDir.listFiles(new FilenameFilter() {
+      @Override
       public boolean accept(File dir, String name) {
         return STARTUP_FILE_PATTERN.matcher(name).matches();
       }
diff --git a/dev/core/src/com/google/gwt/dev/DistillerRebindPermutationOracle.java b/dev/core/src/com/google/gwt/dev/DistillerRebindPermutationOracle.java
index f70b794..d7c8141 100644
--- a/dev/core/src/com/google/gwt/dev/DistillerRebindPermutationOracle.java
+++ b/dev/core/src/com/google/gwt/dev/DistillerRebindPermutationOracle.java
@@ -72,12 +72,14 @@
     }
   }
 
+  @Override
   public void clear() {
     generatorContext.clear();
     compilationState = null;
     generatorContext = null;
   }
 
+  @Override
   public String[] getAllPossibleRebindAnswers(TreeLogger logger,
       String requestTypeName) throws UnableToCompleteException {
 
@@ -98,10 +100,12 @@
     return result;
   }
 
+  @Override
   public CompilationState getCompilationState() {
     return compilationState;
   }
 
+  @Override
   public StandardGeneratorContext getGeneratorContext() {
     return generatorContext;
   }
diff --git a/dev/core/src/com/google/gwt/dev/ExternalPermutationWorkerFactory.java b/dev/core/src/com/google/gwt/dev/ExternalPermutationWorkerFactory.java
index 79c05c9..9cd07c1 100644
--- a/dev/core/src/com/google/gwt/dev/ExternalPermutationWorkerFactory.java
+++ b/dev/core/src/com/google/gwt/dev/ExternalPermutationWorkerFactory.java
@@ -165,12 +165,14 @@
       }
     }
 
+    @Override
     public String getName() {
       return "External worker "
           + (workerSocket != null ? workerSocket.getRemoteSocketAddress()
               : "unconnected");
     }
 
+    @Override
     public void shutdown() {
       if (out != null) {
         try {
@@ -286,6 +288,7 @@
 
       // Threads to copy stdout, stderr to the logger
       new Thread(new Runnable() {
+        @Override
         public void run() {
           while (true) {
             try {
@@ -305,6 +308,7 @@
       }).start();
 
       new Thread(new Runnable() {
+        @Override
         public void run() {
           while (true) {
             try {
@@ -325,6 +329,7 @@
 
       // The child process should not outlive this JVM
       Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
+        @Override
         public void run() {
           try {
             proc.exitValue();
diff --git a/dev/core/src/com/google/gwt/dev/GwtVersion.java b/dev/core/src/com/google/gwt/dev/GwtVersion.java
index a5fce30..4b6427d 100644
--- a/dev/core/src/com/google/gwt/dev/GwtVersion.java
+++ b/dev/core/src/com/google/gwt/dev/GwtVersion.java
@@ -66,6 +66,7 @@
     suffix = parse(versionString);
   }
 
+  @Override
   public int compareTo(GwtVersion other) {
     for (int i = 0; i < COMPONENT_COUNT; ++i) {
       int c = components[i] - other.components[i];
diff --git a/dev/core/src/com/google/gwt/dev/HeadlessUI.java b/dev/core/src/com/google/gwt/dev/HeadlessUI.java
index 40f3e88..4daae73 100644
--- a/dev/core/src/com/google/gwt/dev/HeadlessUI.java
+++ b/dev/core/src/com/google/gwt/dev/HeadlessUI.java
@@ -41,10 +41,12 @@
       String url, String tabKey, String moduleName, String sessionKey,
       String agentTag, byte[] agentIcon, Type logLevel) {
     return new ModuleHandle() {
+      @Override
       public TreeLogger getLogger() {
         return getConsoleLogger();
       }
 
+      @Override
       public void unload() {
       }
     };
diff --git a/dev/core/src/com/google/gwt/dev/ModulePanel.java b/dev/core/src/com/google/gwt/dev/ModulePanel.java
index 07ed37e..3310d86 100644
--- a/dev/core/src/com/google/gwt/dev/ModulePanel.java
+++ b/dev/core/src/com/google/gwt/dev/ModulePanel.java
@@ -50,6 +50,7 @@
       JButton compileButton = new JButton("Compile (not yet implemented)");
       compileButton.setEnabled(false);
       compileButton.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           JOptionPane.showMessageDialog(null, "Compiling not implemented yet", 
               "Alert: Not Implemented", JOptionPane.INFORMATION_MESSAGE);
@@ -66,6 +67,7 @@
   /* (non-Javadoc)
    * @see com.google.gwt.dev.Disconnectable#disconnect()
    */
+  @Override
   public void disconnect() {
     setDisconnected();
   }
@@ -77,6 +79,7 @@
   /* (non-Javadoc)
    * @see com.google.gwt.dev.Disconnectable#isDisconnected()
    */
+  @Override
   public boolean isDisconnected() {
     return disconnected;
   }
@@ -89,6 +92,7 @@
     loggerPanel.disconnected();
     // TODO(jat): allow closing open connections once we do away with SWT
     loggerPanel.setCloseHandler(new CloseHandler() {
+      @Override
       public void onCloseRequest(SwingLoggerPanel loggerPanelToClose) {
         session.disconnectModule(ModulePanel.this);
       }
diff --git a/dev/core/src/com/google/gwt/dev/ModuleTabPanel.java b/dev/core/src/com/google/gwt/dev/ModuleTabPanel.java
index 95b5ddd..1c27a0b 100644
--- a/dev/core/src/com/google/gwt/dev/ModuleTabPanel.java
+++ b/dev/core/src/com/google/gwt/dev/ModuleTabPanel.java
@@ -320,6 +320,7 @@
     sessionDropdownPanel.add(new JLabel("Session: "));
     sessionDropdown = new JComboBox();
     sessionDropdown.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         Session session = (Session) sessionDropdown.getSelectedItem();
         selectSession(session);
@@ -335,6 +336,7 @@
     moduleDropdownPanel.add(new JLabel("Module: "));
     moduleDropdown = new JComboBox();
     moduleDropdown.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         SessionModule sessionModule = (SessionModule)
             moduleDropdown.getSelectedItem();
diff --git a/dev/core/src/com/google/gwt/dev/PermutationWorkerFactory.java b/dev/core/src/com/google/gwt/dev/PermutationWorkerFactory.java
index 82dd523..0f7903a 100644
--- a/dev/core/src/com/google/gwt/dev/PermutationWorkerFactory.java
+++ b/dev/core/src/com/google/gwt/dev/PermutationWorkerFactory.java
@@ -60,6 +60,7 @@
         this.worker = worker;
       }
 
+      @Override
       public void run() {
         Result threadDeathResult = Result.FAIL;
         try {
diff --git a/dev/core/src/com/google/gwt/dev/RunWebApp.java b/dev/core/src/com/google/gwt/dev/RunWebApp.java
index d5604ce..b1ca479 100644
--- a/dev/core/src/com/google/gwt/dev/RunWebApp.java
+++ b/dev/core/src/com/google/gwt/dev/RunWebApp.java
@@ -44,18 +44,22 @@
     private int port;
     private final List<String> startupURLs = new ArrayList<String>();
 
+    @Override
     public void addStartupURL(String url) {
       startupURLs.add(url);
     }
 
+    @Override
     public int getPort() {
       return port;
     }
 
+    @Override
     public List<String> getStartupURLs() {
       return Collections.unmodifiableList(startupURLs);
     }
 
+    @Override
     public void setPort(int port) {
       this.port = port;
     }
diff --git a/dev/core/src/com/google/gwt/dev/SwingUI.java b/dev/core/src/com/google/gwt/dev/SwingUI.java
index d874e8e..7f4d7a2 100644
--- a/dev/core/src/com/google/gwt/dev/SwingUI.java
+++ b/dev/core/src/com/google/gwt/dev/SwingUI.java
@@ -68,6 +68,7 @@
       this.tab = tab;
     }
 
+    @Override
     public TreeLogger getLogger() {
       return tab.getLogger();
     }
@@ -79,6 +80,7 @@
       return tab;
     }
 
+    @Override
     public void unload() {
       if (tab != null) {
         tab.disconnect();
@@ -176,6 +178,7 @@
       final byte[] agentIcon, final TreeLogger.Type logLevel) {
     // TODO(jat): add support for closing an active module
     ModuleHandle handle = invokeAndGet(new Callable<ModuleHandle>() {
+          @Override
           public ModuleHandle call() throws Exception {
             ModuleTabPanel tabPanel = findModuleTab(userAgent, remoteSocket,
                 url, tabKey, moduleName, agentIcon);
@@ -223,6 +226,7 @@
           RestartServerEvent.getType());
       if (callback != null) {
         restartAction = new RestartAction() {
+          @Override
           public void restartServer(TreeLogger logger) {
             callback.onRestartServer(logger);
           }
@@ -243,6 +247,7 @@
   public void initialize(final Type logLevel) {
     super.initialize(logLevel);
     invokeAndWait(new Runnable() {
+      @Override
       public void run() {
         ImageIcon gwtIcon16 = loadImageIcon("icon16.png");
         ImageIcon gwtIcon24 = loadImageIcon("icon24.png");
@@ -282,6 +287,7 @@
   @Override
   public void moduleLoadComplete(final boolean success) {
     EventQueue.invokeLater(new Runnable() {
+      @Override
       public void run() {
         mainWnd.moduleLoadComplete(success);
       }
@@ -291,6 +297,7 @@
   @Override
   public void setStartupUrls(final Map<String, URL> urls) {
     invokeAndWait(new Runnable() {
+      @Override
       public void run() {
         mainWnd.setStartupUrls(urls);
       }
@@ -301,6 +308,7 @@
   public void setWebServerSecure(TreeLogger serverLogger) {
     if (webServerLog != null && serverLogger == webServerLog.getLogger()) {
       EventQueue.invokeLater(new Runnable() {
+        @Override
         public void run() {
           // TODO(jat): if the web server has an icon, should combine with the
           // secure icon or perhaps switch to a different one.
@@ -344,6 +352,7 @@
     if (moduleTabPanel == null) {
       moduleTabPanel = new ModuleTabPanel(userAgent, remoteSocket, url,
           agentIcon, new TabPanelCollection() {
+            @Override
             public void addTab(ModuleTabPanel tabPanel, ImageIcon icon,
                 String title, String tooltip) {
               synchronized (tabs) {
@@ -352,6 +361,7 @@
               }
             }
   
+            @Override
             public void removeTab(ModuleTabPanel tabPanel) {
               synchronized (tabs) {
                 tabs.remove(tabPanel);
diff --git a/dev/core/src/com/google/gwt/dev/ThreadedPermutationWorkerFactory.java b/dev/core/src/com/google/gwt/dev/ThreadedPermutationWorkerFactory.java
index 4ebcd9c..673be66 100644
--- a/dev/core/src/com/google/gwt/dev/ThreadedPermutationWorkerFactory.java
+++ b/dev/core/src/com/google/gwt/dev/ThreadedPermutationWorkerFactory.java
@@ -61,10 +61,12 @@
       }
     }
 
+    @Override
     public String getName() {
       return "In-process PermutationWorker " + id;
     }
 
+    @Override
     public void shutdown() {
       // No-op
     }
diff --git a/dev/core/src/com/google/gwt/dev/WebServerPanel.java b/dev/core/src/com/google/gwt/dev/WebServerPanel.java
index 3505a15..b37faa4 100644
--- a/dev/core/src/com/google/gwt/dev/WebServerPanel.java
+++ b/dev/core/src/com/google/gwt/dev/WebServerPanel.java
@@ -58,6 +58,7 @@
       JButton restartButton = new JButton("Restart Server");
       restartButton.setMnemonic(KeyEvent.VK_R);
       restartButton.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           restartServerAction.restartServer(getLogger());
         }
diff --git a/dev/core/src/com/google/gwt/dev/asm/commons/SerialVersionUIDAdder.java b/dev/core/src/com/google/gwt/dev/asm/commons/SerialVersionUIDAdder.java
index 29cfd72..084d2c6 100644
--- a/dev/core/src/com/google/gwt/dev/asm/commons/SerialVersionUIDAdder.java
+++ b/dev/core/src/com/google/gwt/dev/asm/commons/SerialVersionUIDAdder.java
@@ -509,6 +509,7 @@
             this.desc = desc;
         }
 
+        @Override
         public int compareTo(final Item other) {
             int retVal = name.compareTo(other.name);
             if (retVal == 0) {
diff --git a/dev/core/src/com/google/gwt/dev/asm/commons/TryCatchBlockSorter.java b/dev/core/src/com/google/gwt/dev/asm/commons/TryCatchBlockSorter.java
index 5f61a7b..ed13eb1 100644
--- a/dev/core/src/com/google/gwt/dev/asm/commons/TryCatchBlockSorter.java
+++ b/dev/core/src/com/google/gwt/dev/asm/commons/TryCatchBlockSorter.java
@@ -72,6 +72,7 @@
         // Compares TryCatchBlockNodes by the length of their "try" block.
         Comparator<TryCatchBlockNode> comp = new Comparator<TryCatchBlockNode>() {
 
+            @Override
             public int compare(TryCatchBlockNode t1, TryCatchBlockNode t2) {
                 int len1 = blockLength(t1);
                 int len2 = blockLength(t2);
diff --git a/dev/core/src/com/google/gwt/dev/asm/tree/InsnList.java b/dev/core/src/com/google/gwt/dev/asm/tree/InsnList.java
index 74e956b..9b162d3 100644
--- a/dev/core/src/com/google/gwt/dev/asm/tree/InsnList.java
+++ b/dev/core/src/com/google/gwt/dev/asm/tree/InsnList.java
@@ -537,10 +537,12 @@
             }
         }
 
+        @Override
         public boolean hasNext() {
             return next != null;
         }
 
+        @Override
         public Object next() {
             if (next == null) {
                 throw new NoSuchElementException();
@@ -551,15 +553,18 @@
             return result;
         }
 
+        @Override
         public void remove() {
             InsnList.this.remove(prev);
             prev = prev.prev;
         }
 
+        @Override
         public boolean hasPrevious() {
             return prev != null;
         }
 
+        @Override
         public Object previous() {
             AbstractInsnNode result = prev;
             next = result;
@@ -567,6 +572,7 @@
             return result;
         }
 
+        @Override
         public int nextIndex() {
             if (next == null) {
                 return size();
@@ -577,6 +583,7 @@
             return next.index;
         }
 
+        @Override
         public int previousIndex() {
             if (prev == null) {
                 return -1;
@@ -587,11 +594,13 @@
             return prev.index;
         }
 
+        @Override
         public void add(Object o) {
             InsnList.this.insertBefore(next, (AbstractInsnNode) o);
             prev = (AbstractInsnNode) o;
         }
 
+        @Override
         public void set(Object o) {
             InsnList.this.set(next.prev, (AbstractInsnNode) o);
             prev = (AbstractInsnNode) o;
diff --git a/dev/core/src/com/google/gwt/dev/cfg/BindingProperty.java b/dev/core/src/com/google/gwt/dev/cfg/BindingProperty.java
index b9adaf7..3b60701 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/BindingProperty.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/BindingProperty.java
@@ -384,6 +384,7 @@
 
     // Sort the list
     Lists.sort(collapsedValues, new Comparator<SortedSet<String>>() {
+      @Override
       public int compare(SortedSet<String> o1, SortedSet<String> o2) {
         String s1 = o1.toString();
         String s2 = o2.toString();
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Properties.java b/dev/core/src/com/google/gwt/dev/cfg/Properties.java
index 5a6098d..859c3a5 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/Properties.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/Properties.java
@@ -77,6 +77,7 @@
     return configProps;
   }
 
+  @Override
   public Iterator<Property> iterator() {
     return map.values().iterator();
   }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Property.java b/dev/core/src/com/google/gwt/dev/cfg/Property.java
index 8019ae8..727bbf9 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/Property.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/Property.java
@@ -28,6 +28,7 @@
     this.name = name;
   }
 
+  @Override
   public int compareTo(Property o) {
     return name.compareTo(o.name);
   }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/PropertyPermutations.java b/dev/core/src/com/google/gwt/dev/cfg/PropertyPermutations.java
index 48dfef1..4d4920c 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/PropertyPermutations.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/PropertyPermutations.java
@@ -223,6 +223,7 @@
    * each string in the array corresponds to the property at the same index in
    * the array returned from {@link #getOrderedProperties()}.
    */
+  @Override
   public Iterator<String[]> iterator() {
     return values.iterator();
   }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Scripts.java b/dev/core/src/com/google/gwt/dev/cfg/Scripts.java
index aa9da48..a3baa56 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/Scripts.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/Scripts.java
@@ -41,6 +41,7 @@
   /**
    * An iterator over {@link Script} objects.
    */
+  @Override
   public Iterator<Script> iterator() {
     return list.iterator();
   }
diff --git a/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java b/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java
index 1c7eccc..3cf2278 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/StaticPropertyOracle.java
@@ -90,6 +90,7 @@
     return orderedPropValues;
   }
 
+  @Override
   public com.google.gwt.core.ext.SelectionProperty getSelectionProperty(
       TreeLogger logger, String propertyName)
       throws BadPropertyValueException {
diff --git a/dev/core/src/com/google/gwt/dev/cfg/Styles.java b/dev/core/src/com/google/gwt/dev/cfg/Styles.java
index af5eb16..1143c2e 100644
--- a/dev/core/src/com/google/gwt/dev/cfg/Styles.java
+++ b/dev/core/src/com/google/gwt/dev/cfg/Styles.java
@@ -41,6 +41,7 @@
   /**
    * An iterator over stylesheet urls (each one is a String).
    */
+  @Override
   public Iterator<String> iterator() {
     return list.iterator();
   }
diff --git a/dev/core/src/com/google/gwt/dev/generator/ast/BaseNode.java b/dev/core/src/com/google/gwt/dev/generator/ast/BaseNode.java
index becb2e2..8a6be69 100644
--- a/dev/core/src/com/google/gwt/dev/generator/ast/BaseNode.java
+++ b/dev/core/src/com/google/gwt/dev/generator/ast/BaseNode.java
@@ -20,6 +20,7 @@
  */
 public abstract class BaseNode implements Node {
 
+  @Override
   public abstract String toCode();
 
   @Override
diff --git a/dev/core/src/com/google/gwt/dev/generator/ast/ForLoop.java b/dev/core/src/com/google/gwt/dev/generator/ast/ForLoop.java
index dbfe1ff..7e6662d 100644
--- a/dev/core/src/com/google/gwt/dev/generator/ast/ForLoop.java
+++ b/dev/core/src/com/google/gwt/dev/generator/ast/ForLoop.java
@@ -61,6 +61,7 @@
     }
   }
 
+  @Override
   public List<Statements> getStatements() {
     return body.getStatements();
   }
@@ -69,6 +70,7 @@
     this.label = label;
   }
 
+  @Override
   public String toCode() {
     String loop = "for ( " + initializer + "; " + test + "; " + step + " ) {\n"
         + body.toCode() + "\n" + "}\n";
diff --git a/dev/core/src/com/google/gwt/dev/generator/ast/Statement.java b/dev/core/src/com/google/gwt/dev/generator/ast/Statement.java
index d8b757c..0768625 100644
--- a/dev/core/src/com/google/gwt/dev/generator/ast/Statement.java
+++ b/dev/core/src/com/google/gwt/dev/generator/ast/Statement.java
@@ -55,6 +55,7 @@
    * Returns this single <code>Statement</code> as a {@link java.util.List} of
    * {@link Statement}s of size, one.
    */
+  @Override
   public List<Statements> getStatements() {
     return list;
   }
diff --git a/dev/core/src/com/google/gwt/dev/generator/ast/StatementsList.java b/dev/core/src/com/google/gwt/dev/generator/ast/StatementsList.java
index d740970..34dc723 100644
--- a/dev/core/src/com/google/gwt/dev/generator/ast/StatementsList.java
+++ b/dev/core/src/com/google/gwt/dev/generator/ast/StatementsList.java
@@ -35,6 +35,7 @@
   /**
    * Returns the {@link Statements} that are in this list.
    */
+  @Override
   public List<Statements> getStatements() {
     return statements;
   }
diff --git a/dev/core/src/com/google/gwt/dev/generator/ast/WhileLoop.java b/dev/core/src/com/google/gwt/dev/generator/ast/WhileLoop.java
index 52b8bb4..ab1189f 100644
--- a/dev/core/src/com/google/gwt/dev/generator/ast/WhileLoop.java
+++ b/dev/core/src/com/google/gwt/dev/generator/ast/WhileLoop.java
@@ -37,10 +37,12 @@
     this.test = test;
   }
 
+  @Override
   public List<Statements> getStatements() {
     return body.getStatements();
   }
 
+  @Override
   public String toCode() {
     return "while ( " + test + " ) {\n" +
         body.toCode() + "\n" +
diff --git a/dev/core/src/com/google/gwt/dev/javac/AnnotationProxyFactory.java b/dev/core/src/com/google/gwt/dev/javac/AnnotationProxyFactory.java
index 636b8e8..7ac5c6e 100644
--- a/dev/core/src/com/google/gwt/dev/javac/AnnotationProxyFactory.java
+++ b/dev/core/src/com/google/gwt/dev/javac/AnnotationProxyFactory.java
@@ -217,6 +217,7 @@
      * @see java.lang.reflect.InvocationHandler#invoke(java.lang.Object,
      *      java.lang.reflect.Method, java.lang.Object[])
      */
+    @Override
     public Object invoke(Object proxy, Method method, Object[] args)
         throws Throwable {
 
diff --git a/dev/core/src/com/google/gwt/dev/javac/BytecodeSignatureMaker.java b/dev/core/src/com/google/gwt/dev/javac/BytecodeSignatureMaker.java
index cbdd9de..f0fa16c 100644
--- a/dev/core/src/com/google/gwt/dev/javac/BytecodeSignatureMaker.java
+++ b/dev/core/src/com/google/gwt/dev/javac/BytecodeSignatureMaker.java
@@ -63,6 +63,7 @@
       return Util.computeStrongName(Util.getBytes(getRawString()));
     }
 
+    @Override
     public void visit(int version, int access, String name, String signature, String superName,
         String[] interfaces) {
       StringBuilder headerBuilder = new StringBuilder();
@@ -88,19 +89,23 @@
       header = headerBuilder.toString();
     }
 
+    @Override
     public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
       // ignore
       return null;
     }
 
+    @Override
     public void visitAttribute(Attribute attr) {
       // ignore
     }
 
+    @Override
     public void visitEnd() {
       // unused
     }
 
+    @Override
     public FieldVisitor visitField(int access, String name, String desc, String signature,
         Object value) {
       StringBuilder fieldBuilder = new StringBuilder();
@@ -126,10 +131,12 @@
       return null;
     }
 
+    @Override
     public void visitInnerClass(String name, String outerName, String innerName, int access) {
       // ignored
     }
 
+    @Override
     public MethodVisitor visitMethod(int access, String name, String desc, String signature,
         String[] exceptions) {
       // We don't care about synthetic methods
@@ -157,10 +164,12 @@
       return null;
     }
 
+    @Override
     public void visitOuterClass(String owner, String name, String desc) {
       // ignored
     }
 
+    @Override
     public void visitSource(String source, String debug) {
       // ignore
     }
diff --git a/dev/core/src/com/google/gwt/dev/javac/GeneratedClassnameComparator.java b/dev/core/src/com/google/gwt/dev/javac/GeneratedClassnameComparator.java
index c6e4f94..95b759a 100644
--- a/dev/core/src/com/google/gwt/dev/javac/GeneratedClassnameComparator.java
+++ b/dev/core/src/com/google/gwt/dev/javac/GeneratedClassnameComparator.java
@@ -30,6 +30,7 @@
  */
 class GeneratedClassnameComparator implements Comparator<String>, Serializable {
 
+  @Override
   public int compare(String arg0, String arg1) {
     String pattern = "\\$";
     String splits0[] = arg0.split(pattern);
diff --git a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
index 89675ad..8385eb9 100644
--- a/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
+++ b/dev/core/src/com/google/gwt/dev/javac/JdtCompiler.java
@@ -131,6 +131,7 @@
       return Lists.normalizeUnmodifiable(results);
     }
 
+    @Override
     public void process(CompilationUnitBuilder builder, CompilationUnitDeclaration cud,
         List<CompiledClass> compiledClasses) {
       builder.setClasses(compiledClasses).setTypes(Collections.<JDeclaredType> emptyList())
@@ -207,18 +208,22 @@
       return builder;
     }
 
+    @Override
     public char[] getContents() {
       return builder.getSource().toCharArray();
     }
 
+    @Override
     public char[] getFileName() {
       return builder.getLocation().toCharArray();
     }
 
+    @Override
     public char[] getMainTypeName() {
       return Shared.getShortName(builder.getTypeName()).toCharArray();
     }
 
+    @Override
     public char[][] getPackageName() {
       String packageName = Shared.getPackageName(builder.getTypeName());
       return CharOperation.splitOn('.', packageName.toCharArray());
@@ -377,6 +382,7 @@
    * Hook point to accept results.
    */
   private static class ICompilerRequestorImpl implements ICompilerRequestor {
+    @Override
     public void acceptResult(CompilationResult result) {
     }
   }
@@ -385,13 +391,16 @@
    * How JDT receives files from the environment.
    */
   private class INameEnvironmentImpl implements INameEnvironment {
+    @Override
     public void cleanup() {
     }
 
+    @Override
     public NameEnvironmentAnswer findType(char[] type, char[][] pkg) {
       return findType(CharOperation.arrayConcat(pkg, type));
     }
 
+    @Override
     public NameEnvironmentAnswer findType(char[][] compoundTypeName) {
       char[] internalNameChars = CharOperation.concatWith(compoundTypeName, '/');
       String internalName = String.valueOf(internalNameChars);
@@ -431,6 +440,7 @@
       return null;
     }
 
+    @Override
     public boolean isPackage(char[][] parentPkg, char[] pkg) {
       char[] pathChars = CharOperation.concatWith(parentPkg, pkg, '/');
       String packageName = String.valueOf(pathChars);
diff --git a/dev/core/src/com/google/gwt/dev/javac/SerializableCategorizedProblem.java b/dev/core/src/com/google/gwt/dev/javac/SerializableCategorizedProblem.java
index 1cf980d..196ea3e 100644
--- a/dev/core/src/com/google/gwt/dev/javac/SerializableCategorizedProblem.java
+++ b/dev/core/src/com/google/gwt/dev/javac/SerializableCategorizedProblem.java
@@ -49,6 +49,7 @@
     this.formattedString = problem.toString();
   }
 
+  @Override
   public String[] getArguments() {
     return arguments;
   }
@@ -58,6 +59,7 @@
     return categoryId;
   }
 
+  @Override
   public int getID() {
     return categoryId;
   }
@@ -67,42 +69,52 @@
     return markerType;
   }
 
+  @Override
   public String getMessage() {
     return message;
   }
 
+  @Override
   public char[] getOriginatingFileName() {
     return originatingFileName;
   }
 
+  @Override
   public int getSourceEnd() {
     return sourceEnd;
   }
 
+  @Override
   public int getSourceLineNumber() {
     return sourceLineNumber;
   }
 
+  @Override
   public int getSourceStart() {
     return sourceStart;
   }
 
+  @Override
   public boolean isError() {
     return isError;
   }
 
+  @Override
   public boolean isWarning() {
     return isWarning;
   }
 
+  @Override
   public void setSourceEnd(int sourceEnd) {
     throw new RuntimeException("read only object");
   }
 
+  @Override
   public void setSourceLineNumber(int lineNumber) {
     throw new RuntimeException("read only object");
   }
 
+  @Override
   public void setSourceStart(int sourceStart) {
     throw new RuntimeException("read only object");
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/UnusedImportsRemover.java b/dev/core/src/com/google/gwt/dev/javac/UnusedImportsRemover.java
index 13c9f9b..9252e3d 100644
--- a/dev/core/src/com/google/gwt/dev/javac/UnusedImportsRemover.java
+++ b/dev/core/src/com/google/gwt/dev/javac/UnusedImportsRemover.java
@@ -53,94 +53,111 @@
    * This is a conservative pass, i.e. it might leave some unused imports.
    */
   private class AccumulateNamesVisitor extends ASTVisitor {
+    @Override
     public void endVisit(
         SingleNameReference singleNameReference,
         BlockScope scope) {
       addName(singleNameReference);
     }
 
+    @Override
     public void endVisit(
         SingleNameReference singleNameReference,
         ClassScope scope) {
       addName(singleNameReference);
     }
 
+    @Override
     public void endVisit(
         SingleTypeReference singleTypeReference,
         BlockScope scope) {
       addName(singleTypeReference);
     }
 
+    @Override
     public void endVisit(
         SingleTypeReference singleTypeReference,
         ClassScope scope) {
       addName(singleTypeReference);
     }
 
+    @Override
     public void endVisit(MessageSend messageSend, BlockScope scope) {
       if (messageSend.receiver instanceof ThisReference) {
         usedNames.add(new String(messageSend.selector));
        }
     }
 
+    @Override
     public void endVisit(ArrayTypeReference arrayTypeReference, BlockScope scope) {
       addName(arrayTypeReference);
     }
 
+    @Override
     public void endVisit(ArrayTypeReference arrayTypeReference, ClassScope scope) {
       addName(arrayTypeReference);
     }
 
+    @Override
     public void endVisit(
         ArrayQualifiedTypeReference arrayQualifiedTypeReference,
         BlockScope scope) {
       addName(arrayQualifiedTypeReference);
     }
 
+    @Override
     public void endVisit(
         ArrayQualifiedTypeReference arrayQualifiedTypeReference,
         ClassScope scope) {
       addName(arrayQualifiedTypeReference);
     }
 
+    @Override
     public void endVisit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference,
         BlockScope scope) {
       addName(parameterizedQualifiedTypeReference);
     }
 
+    @Override
     public void endVisit(ParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference,
         ClassScope scope) {
       addName(parameterizedQualifiedTypeReference);
     }
 
+    @Override
     public void endVisit(ParameterizedSingleTypeReference parameterizedSingleTypeReference,
         BlockScope scope) {
       addName(parameterizedSingleTypeReference);
     }
 
+    @Override
     public void endVisit(ParameterizedSingleTypeReference parameterizedSingleTypeReference,
         ClassScope scope) {
       addName(parameterizedSingleTypeReference);
     }
 
+    @Override
     public void endVisit(
         QualifiedTypeReference qualifiedTypeReference,
         BlockScope scope) {
       addName(qualifiedTypeReference);
     }
 
+    @Override
     public void endVisit(
         QualifiedTypeReference qualifiedTypeReference,
         ClassScope scope) {
       addName(qualifiedTypeReference);
     }
 
+    @Override
     public void endVisit(
         QualifiedNameReference qualifiedNameReference,
         BlockScope scope) {
       addName(qualifiedNameReference);
     }
 
+    @Override
     public void endVisit(
         QualifiedNameReference qualifiedNameReference,
         ClassScope scope) {
diff --git a/dev/core/src/com/google/gwt/dev/javac/asm/CollectAnnotationData.java b/dev/core/src/com/google/gwt/dev/javac/asm/CollectAnnotationData.java
index 11ff2f5..68b8ed9 100644
--- a/dev/core/src/com/google/gwt/dev/javac/asm/CollectAnnotationData.java
+++ b/dev/core/src/com/google/gwt/dev/javac/asm/CollectAnnotationData.java
@@ -82,32 +82,39 @@
       this.callback = callback;
     }
 
+    @Override
     public void visit(String name, Object value) {
       values.add(value);
     }
 
+    @Override
     public AnnotationVisitor visitAnnotation(String name, String desc) {
       // TODO(jat): what should visible be set to?
       return new CollectAnnotationData(desc, true,
           new Callback<CollectAnnotationData.AnnotationData>() {
+            @Override
             public void call(CollectAnnotationData.AnnotationData value) {
               values.add(value);
             }
           });
     }
 
+    @Override
     public AnnotationVisitor visitArray(String name) {
       return new MyAnnotationArrayVisitor(new Callback<Object>() {
+        @Override
         public void call(Object value) {
           values.add(value);
         }
       });
     }
 
+    @Override
     public void visitEnd() {
       callback.call(values.toArray());
     }
 
+    @Override
     public void visitEnum(String name, String desc, String value) {
       values.add(new AnnotationEnum(desc, value));
     }
@@ -162,20 +169,24 @@
     return annotation;
   }
 
+  @Override
   public void visit(String name, Object value) {
     annotation.addValue(name, value);
   }
 
+  @Override
   public AnnotationVisitor visitAnnotation(final String name, String desc) {
     // TODO(jat): what should visible be set to?
     return new CollectAnnotationData(desc, true,
         new Callback<CollectAnnotationData.AnnotationData>() {
+          @Override
           public void call(CollectAnnotationData.AnnotationData value) {
             annotation.addValue(name, value);
           }
         });
   }
 
+  @Override
   public AnnotationVisitor visitArray(final String name) {
     return new MyAnnotationArrayVisitor(new Callback<Object>() {
 
@@ -184,18 +195,21 @@
        * 
        * @param value
        */
+      @Override
       public void call(Object value) {
         annotation.addValue(name, value);
       }
     });
   }
 
+  @Override
   public void visitEnd() {
     if (callback != null) {
       callback.call(annotation);
     }
   }
 
+  @Override
   public void visitEnum(String name, String desc, String value) {
     annotation.addValue(name, new AnnotationEnum(desc, value));
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/asm/CollectReferencesVisitor.java b/dev/core/src/com/google/gwt/dev/javac/asm/CollectReferencesVisitor.java
index 39edde7..a0b0cb2 100644
--- a/dev/core/src/com/google/gwt/dev/javac/asm/CollectReferencesVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/javac/asm/CollectReferencesVisitor.java
@@ -44,61 +44,77 @@
       super(Opcodes.ASM4);
     }
 
+    @Override
     public SignatureVisitor visitArrayType() {
       return this;
     }
 
+    @Override
     public void visitBaseType(char descriptor) {
     }
 
+    @Override
     public SignatureVisitor visitClassBound() {
       return this;
     }
 
+    @Override
     public void visitClassType(String name) {
       referencedTypes.add(name);
     }
 
+    @Override
     public void visitEnd() {
     }
 
+    @Override
     public SignatureVisitor visitExceptionType() {
       return this;
     }
 
+    @Override
     public void visitFormalTypeParameter(String name) {
     }
 
+    @Override
     public void visitInnerClassType(String name) {
     }
 
+    @Override
     public SignatureVisitor visitInterface() {
       return this;
     }
 
+    @Override
     public SignatureVisitor visitInterfaceBound() {
       return this;
     }
 
+    @Override
     public SignatureVisitor visitParameterType() {
       return this;
     }
 
+    @Override
     public SignatureVisitor visitReturnType() {
       return this;
     }
 
+    @Override
     public SignatureVisitor visitSuperclass() {
       return this;
     }
 
+    @Override
     public void visitTypeArgument() {
     }
 
+    @Override
     public SignatureVisitor visitTypeArgument(char wildcard) {
       return this;
     }
 
+    @Override
     public void visitTypeVariable(String name) {
     }
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/asm/EmptySignatureVisitor.java b/dev/core/src/com/google/gwt/dev/javac/asm/EmptySignatureVisitor.java
index a08a622..0130678 100644
--- a/dev/core/src/com/google/gwt/dev/javac/asm/EmptySignatureVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/javac/asm/EmptySignatureVisitor.java
@@ -40,6 +40,7 @@
   /**
    * Treated as a visitEnd for this visitor.
    */
+  @Override
   public SignatureVisitor visitArrayType() {
     return ignore;
   }
@@ -47,52 +48,66 @@
   /**
    * Treated as a visitEnd for this visitor.
    */
+  @Override
   public void visitBaseType(char descriptor) {
   }
 
+  @Override
   public SignatureVisitor visitClassBound() {
     return ignore;
   }
 
+  @Override
   public void visitClassType(String name) {
   }
 
+  @Override
   public void visitEnd() {
   }
 
+  @Override
   public SignatureVisitor visitExceptionType() {
     return ignore;
   }
 
+  @Override
   public void visitFormalTypeParameter(String name) {
   }
 
+  @Override
   public void visitInnerClassType(String name) {
   }
 
+  @Override
   public SignatureVisitor visitInterface() {
     return ignore;
   }
 
+  @Override
   public SignatureVisitor visitInterfaceBound() {
     return ignore;
   }
 
+  @Override
   public SignatureVisitor visitParameterType() {
     return ignore;
   }
 
+  @Override
   public SignatureVisitor visitReturnType() {
     return ignore;
   }
 
+  @Override
   public SignatureVisitor visitSuperclass() {
     return ignore;
   }
 
+  @Override
   public void visitTypeArgument() {
   }
 
+  @Override
   public SignatureVisitor visitTypeArgument(char wildcard) {
     return ignore;
   }
@@ -100,6 +115,7 @@
   /**
    * Treated as a visitEnd for this visitor.
    */
+  @Override
   public void visitTypeVariable(String name) {
   }
 }
diff --git a/dev/core/src/com/google/gwt/dev/javac/testing/JavaSource.java b/dev/core/src/com/google/gwt/dev/javac/testing/JavaSource.java
index 449c056..d432753 100644
--- a/dev/core/src/com/google/gwt/dev/javac/testing/JavaSource.java
+++ b/dev/core/src/com/google/gwt/dev/javac/testing/JavaSource.java
@@ -33,6 +33,7 @@
     this.path = Shared.toPath(typeName);
   }
 
+  @Override
   public String getPath() {
     return path;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/Annotations.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/Annotations.java
index cc3cf53..ee4e521 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/Annotations.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/Annotations.java
@@ -41,6 +41,7 @@
      * type. So we only need to sort by annotation type name, since there won't
      * be any duplicates.
      */
+    @Override
     public int compare(Annotation o1, Annotation o2) {
       return o1.annotationType().getName().compareTo(
           o2.annotationType().getName());
@@ -85,11 +86,13 @@
     }
   }
 
+  @Override
   public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
     initializeAnnotations();
     return annotationClass.cast(lazyAnnotations.get(annotationClass));
   }
 
+  @Override
   public Annotation[] getAnnotations() {
     initializeAnnotations();
     List<Annotation> values = new ArrayList<Annotation>(lazyAnnotations.values());
@@ -97,6 +100,7 @@
     return values.toArray(new Annotation[values.size()]);
   }
 
+  @Override
   public Annotation[] getDeclaredAnnotations() {
     List<Annotation> values = new ArrayList<Annotation>(
         declaredAnnotations.values());
@@ -104,6 +108,7 @@
     return values.toArray(new Annotation[values.size()]);
   }
 
+  @Override
   public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
     return getAnnotation(annotationClass) != null;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/ImmutableAnnotations.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/ImmutableAnnotations.java
index 09eed9d..f7867d3 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/ImmutableAnnotations.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/ImmutableAnnotations.java
@@ -60,20 +60,24 @@
     return new ImmutableAnnotations(this, additions);
   }
 
+  @Override
   public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
     return annotationClass.cast(members.get(annotationClass));
   }
 
+  @Override
   public Annotation[] getAnnotations() {
     return getDeclaredAnnotations();
   }
 
+  @Override
   public Annotation[] getDeclaredAnnotations() {
     List<Annotation> values = new ArrayList<Annotation>(members.values());
     Collections.sort(values, Annotations.ANNOTATION_COMPARATOR);
     return values.toArray(new Annotation[values.size()]);
   }
 
+  @Override
   public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
     return getAnnotation(annotationClass) != null;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JAbstractMethod.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JAbstractMethod.java
index bf99458..e282b83 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JAbstractMethod.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JAbstractMethod.java
@@ -64,6 +64,7 @@
     }
   }
 
+  @Override
   public JParameter findParameter(String name) {
     for (JParameter param : params) {
       if (param.getName().equals(name)) {
@@ -73,14 +74,17 @@
     return null;
   }
 
+  @Override
   public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
     return annotations.getAnnotation(annotationClass);
   }
 
+  @Override
   public Annotation[] getAnnotations() {
     return annotations.getAnnotations();
   }
 
+  @Override
   public Annotation[] getDeclaredAnnotations() {
     return annotations.getDeclaredAnnotations();
   }
@@ -88,8 +92,10 @@
   /**
    * Gets the type in which this method or constructor was declared.
    */
+  @Override
   public abstract JClassType getEnclosingType();
 
+  @Override
   public JType[] getErasedParameterTypes() {
     JType[] types = new JType[params.size()];
     for (int i = 0; i < types.length; ++i) {
@@ -103,27 +109,33 @@
    * 
    * @return <code>@package.Class::method(Lpackage/Param;...)</code>
    */
+  @Override
   public abstract String getJsniSignature();
 
+  @Override
   @Deprecated
   public final String[][] getMetaData(String tagName) {
     return TypeOracle.NO_STRING_ARR_ARR;
   }
 
+  @Override
   @Deprecated
   public final String[] getMetaDataTags() {
     return TypeOracle.NO_STRINGS;
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public JParameter[] getParameters() {
     // TODO(jat): where do we handle fake arg names?
     return params.toArray(TypeOracle.NO_JPARAMS);
   }
 
+  @Override
   public JType[] getParameterTypes() {
     final JType[] paramTypes = new JType[params.size()];
     for (int i = 0; i < paramTypes.length; ++i) {
@@ -132,44 +144,56 @@
     return paramTypes;
   }
 
+  @Override
   public abstract String getReadableDeclaration();
 
+  @Override
   public JClassType[] getThrows() {
     return thrownTypes.toArray(TypeOracle.NO_JCLASSES);
   }
 
+  @Override
   public JTypeParameter[] getTypeParameters() {
     return typeParams.toArray(new JTypeParameter[typeParams.size()]);
   }
 
+  @Override
   public JAnnotationMethod isAnnotationMethod() {
     return null;
   }
 
+  @Override
   public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
     return annotations.isAnnotationPresent(annotationClass);
   }
 
+  @Override
   public abstract JConstructor isConstructor();
 
+  @Override
   public boolean isDefaultAccess() {
     return 0 == (modifierBits & (TypeOracle.MOD_PUBLIC | TypeOracle.MOD_PRIVATE | TypeOracle.MOD_PROTECTED));
   }
 
+  @Override
   public abstract JMethod isMethod();
 
+  @Override
   public boolean isPrivate() {
     return 0 != (modifierBits & TypeOracle.MOD_PRIVATE);
   }
 
+  @Override
   public boolean isProtected() {
     return 0 != (modifierBits & TypeOracle.MOD_PROTECTED);
   }
 
+  @Override
   public boolean isPublic() {
     return 0 != (modifierBits & TypeOracle.MOD_PUBLIC);
   }
 
+  @Override
   public boolean isVarArgs() {
     return isVarArgs;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JAnnotationMethod.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JAnnotationMethod.java
index e358421..94c85ef 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JAnnotationMethod.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JAnnotationMethod.java
@@ -43,6 +43,7 @@
    * @return default value for this annotation method or <code>null</code> if
    *         there is not one
    */
+  @Override
   public Object getDefaultValue() {
     return defaultValue;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JArrayType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JArrayType.java
index fa3a264..67054ad 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JArrayType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JArrayType.java
@@ -75,6 +75,7 @@
     return TypeOracle.NO_ANNOTATIONS;
   }
 
+  @Override
   public JType getComponentType() {
     return componentType;
   }
@@ -210,6 +211,7 @@
     return lazyQualifiedName;
   }
 
+  @Override
   public int getRank() {
     JArrayType componentArrayType = (JArrayType) componentType.isArray();
     if (componentArrayType != null) {
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JClassType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JClassType.java
index 014cc8d..f44b0e0 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JClassType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JClassType.java
@@ -349,6 +349,7 @@
    */
   private boolean isEnhanced = false;
 
+  @Override
   public JParameterizedType asParameterizationOf(
       com.google.gwt.core.ext.typeinfo.JGenericType type) {
     Set<JClassType> supertypes = getFlattenedSuperTypeHierarchy(this);
@@ -393,6 +394,7 @@
    * @return the desired annotation or <code>null</code> if the annotation is
    *         not present in the type's type hierarchy
    */
+  @Override
   public <T extends Annotation> T findAnnotationInTypeHierarchy(
       Class<T> annotationType) {
 
@@ -434,32 +436,45 @@
     return toReturn;
   }
 
+  @Override
   public abstract JConstructor findConstructor(JType[] paramTypes);
 
+  @Override
   public abstract JField findField(String name);
 
+  @Override
   public abstract JMethod findMethod(String name, JType[] paramTypes);
 
+  @Override
   public abstract JClassType findNestedType(String typeName);
 
+  @Override
   public abstract <T extends Annotation> T getAnnotation(
       Class<T> annotationClass);
 
+  @Override
   public abstract Annotation[] getAnnotations();
 
+  @Override
   public abstract JConstructor getConstructor(JType[] paramTypes)
       throws NotFoundException;
 
+  @Override
   public abstract JConstructor[] getConstructors();
 
+  @Override
   public abstract Annotation[] getDeclaredAnnotations();
 
+  @Override
   public abstract JClassType getEnclosingType();
 
+  @Override
   public abstract JClassType getErasedType();
 
+  @Override
   public abstract JField getField(String name);
 
+  @Override
   public abstract JField[] getFields();
 
   /**
@@ -468,11 +483,13 @@
    * breadth-first ordering of the type, followed by its interfaces (and their
    * super-interfaces), then the supertype and its interfaces, and so on.
    */
+  @Override
   public Set<JClassType> getFlattenedSupertypeHierarchy() {
     // Retuns an immutable set
     return getFlattenedSuperTypeHierarchy(this);
   }
 
+  @Override
   public abstract JClassType[] getImplementedInterfaces();
 
   /**
@@ -488,24 +505,30 @@
    * @return an array of {@link JMethod} objects representing inheritable
    *         methods
    */
+  @Override
   public abstract JMethod[] getInheritableMethods();
 
+  @Override
   public abstract String getJNISignature();
 
+  @Override
   public JType getLeafType() {
     return this;
   }
 
+  @Override
   @Deprecated
   public final String[][] getMetaData(String tagName) {
     return TypeOracle.NO_STRING_ARR_ARR;
   }
 
+  @Override
   @Deprecated
   public final String[] getMetaDataTags() {
     return TypeOracle.NO_STRINGS;
   }
 
+  @Override
   public abstract JMethod getMethod(String name, JType[] paramTypes)
       throws NotFoundException;
 
@@ -513,17 +536,23 @@
    * Returns the declared methods of this class (not any superclasses or
    * superinterfaces).
    */
+  @Override
   public abstract JMethod[] getMethods();
 
+  @Override
   public abstract String getName();
 
+  @Override
   public abstract JClassType getNestedType(String typeName)
       throws NotFoundException;
 
+  @Override
   public abstract JClassType[] getNestedTypes();
 
+  @Override
   public abstract TypeOracle getOracle();
 
+  @Override
   public abstract JMethod[] getOverloads(String name);
 
   /**
@@ -543,10 +572,13 @@
    * @return an array of {@link JMethod} objects representing overridable
    *         methods
    */
+  @Override
   public abstract JMethod[] getOverridableMethods();
 
+  @Override
   public abstract JPackage getPackage();
 
+  @Override
   public String getParameterizedQualifiedSourceName() {
     return getQualifiedSourceName();
   }
@@ -554,10 +586,13 @@
   /**
    * TODO(scottb): remove if we can resolve param names differently.
    */
+  @Override
   public abstract String getQualifiedBinaryName();
 
+  @Override
   public abstract String getQualifiedSourceName();
 
+  @Override
   public abstract String getSimpleSourceName();
 
   /**
@@ -579,8 +614,10 @@
    *   they themselves are generic.</li>
    * </ol>
    */
+  @Override
   public abstract JClassType[] getSubtypes();
 
+  @Override
   public abstract JClassType getSuperclass();
 
   /**
@@ -591,6 +628,7 @@
     return super.hashCode();
   }
 
+  @Override
   public abstract boolean isAbstract();
 
   /**
@@ -600,13 +638,16 @@
    * @return this instance if it is a annotation or <code>null</code> if it is
    *         not
    */
+  @Override
   public JAnnotationType isAnnotation() {
     return null;
   }
 
+  @Override
   public abstract boolean isAnnotationPresent(
       Class<? extends Annotation> annotationClass);
 
+  @Override
   public abstract JArrayType isArray();
 
   /**
@@ -620,6 +661,7 @@
    * @throws NullPointerException if <code>possibleSubtype</code> is
    *           <code>null</code>
    */
+  @Override
   public boolean isAssignableFrom(
       com.google.gwt.core.ext.typeinfo.JClassType possibleSubtype) {
     if (possibleSubtype == null) {
@@ -640,6 +682,7 @@
    * @throws NullPointerException if <code>possibleSupertype</code> is
    *           <code>null</code>
    */
+  @Override
   public boolean isAssignableTo(
       com.google.gwt.core.ext.typeinfo.JClassType possibleSupertype) {
     if (possibleSupertype == null) {
@@ -649,8 +692,10 @@
     return areClassTypesAssignable(possibleSupertype, this);
   }
 
+  @Override
   public abstract JClassType isClass();
 
+  @Override
   public JClassType isClassOrInterface() {
     JClassType type = isClass();
     if (type != null) {
@@ -671,6 +716,7 @@
    * @return <code>true</code> if the type is default instantiable, or
    *         <code>false</code> otherwise
    */
+  @Override
   public abstract boolean isDefaultInstantiable();
 
   /**
@@ -679,6 +725,7 @@
    * 
    * @return <code>true</code> if the type might be enhanced on the server
    */
+  @Override
   public final boolean isEnhanced() {
     return isEnhanced;
   }
@@ -690,17 +737,22 @@
    * @return this instance if it is an enumeration or <code>null</code> if it is
    *         not
    */
+  @Override
   public abstract JEnumType isEnum();
 
+  @Override
   public abstract boolean isFinal();
 
+  @Override
   public abstract JGenericType isGenericType();
 
+  @Override
   public abstract JClassType isInterface();
 
   /**
    * @deprecated local types are not modeled
    */
+  @Override
   @Deprecated
   public final boolean isLocalType() {
     return false;
@@ -712,27 +764,37 @@
    * @return true if this type has an enclosing type, false if this type is a
    *         top-level type
    */
+  @Override
   public abstract boolean isMemberType();
 
+  @Override
   public abstract JParameterizedType isParameterized();
 
+  @Override
   public abstract JPrimitiveType isPrimitive();
 
+  @Override
   public abstract boolean isPrivate();
 
+  @Override
   public abstract boolean isProtected();
 
+  @Override
   public abstract boolean isPublic();
 
   // TODO: Rename this to isRaw
+  @Override
   public abstract JRawType isRawType();
 
+  @Override
   public abstract boolean isStatic();
 
+  @Override
   public JTypeParameter isTypeParameter() {
     return null;
   }
 
+  @Override
   public abstract JWildcardType isWildcard();
 
   /**
@@ -741,6 +803,7 @@
    * 
    * TODO(rice): find a better way to do this.
    */
+  @Override
   public void setEnhanced() {
     this.isEnhanced = true;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumConstant.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumConstant.java
index 74b0c27..b0034d7 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumConstant.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumConstant.java
@@ -37,6 +37,7 @@
    * 
    * @return ordinal value for this enumeration constant
    */
+  @Override
   public int getOrdinal() {
     return ordinal;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumType.java
index 468ed64..3414a37 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JEnumType.java
@@ -35,6 +35,7 @@
    * 
    * @return enumeration constants declared by this enumeration
    */
+  @Override
   public JEnumConstant[] getEnumConstants() {
     if (lazyEnumConstants == null) {
       List<JEnumConstant> enumConstants = new ArrayList<JEnumConstant>();
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JField.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JField.java
index 34c99e8..030f1f3 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JField.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JField.java
@@ -53,78 +53,96 @@
     annotations = ImmutableAnnotations.EMPTY.plus(declaredAnnotations);
   }
 
+  @Override
   public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
     return annotations.getAnnotation(annotationClass);
   }
 
+  @Override
   public Annotation[] getAnnotations() {
     return annotations.getAnnotations();
   }
 
+  @Override
   public Annotation[] getDeclaredAnnotations() {
     return annotations.getDeclaredAnnotations();
   }
 
+  @Override
   public JClassType getEnclosingType() {
     return enclosingType;
   }
 
+  @Override
   @Deprecated
   public final String[][] getMetaData(String tagName) {
     return TypeOracle.NO_STRING_ARR_ARR;
   }
 
+  @Override
   @Deprecated
   public final String[] getMetaDataTags() {
     return TypeOracle.NO_STRINGS;
   }
 
+  @Override
   public String getName() {
     assert (name != null);
     return name;
   }
 
+  @Override
   public JType getType() {
     assert (type != null);
     return type;
   }
 
+  @Override
   public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
     return annotations.isAnnotationPresent(annotationClass);
   }
 
+  @Override
   public boolean isDefaultAccess() {
     return 0 == (modifierBits & (TypeOracle.MOD_PUBLIC | TypeOracle.MOD_PRIVATE | TypeOracle.MOD_PROTECTED));
   }
 
+  @Override
   public JEnumConstant isEnumConstant() {
     return null;
   }
 
+  @Override
   public boolean isFinal() {
     return 0 != (modifierBits & TypeOracle.MOD_FINAL);
   }
 
+  @Override
   public boolean isPrivate() {
     return 0 != (modifierBits & TypeOracle.MOD_PRIVATE);
   }
 
+  @Override
   public boolean isProtected() {
     return 0 != (modifierBits & TypeOracle.MOD_PROTECTED);
   }
 
+  @Override
   public boolean isPublic() {
     return 0 != (modifierBits & TypeOracle.MOD_PUBLIC);
   }
 
+  @Override
   public boolean isStatic() {
     return 0 != (modifierBits & TypeOracle.MOD_STATIC);
   }
 
+  @Override
   public boolean isTransient() {
     return 0 != (modifierBits & TypeOracle.MOD_TRANSIENT);
   }
 
+  @Override
   public boolean isVolatile() {
     return 0 != (modifierBits & TypeOracle.MOD_VOLATILE);
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JGenericType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JGenericType.java
index 71adee5..737baf0 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JGenericType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JGenericType.java
@@ -42,6 +42,7 @@
     }
   }
 
+  @Override
   public JParameterizedType asParameterizedByWildcards() {
     JClassType[] typeArgs = new JClassType[typeParams.size()];
     for (int i = 0; i < typeArgs.length; ++i) {
@@ -82,6 +83,7 @@
     return sb.toString();
   }
 
+  @Override
   public JRawType getRawType() {
     if (lazyRawType == null) {
       lazyRawType = new JRawType(this);
@@ -90,6 +92,7 @@
     return lazyRawType;
   }
 
+  @Override
   public JTypeParameter[] getTypeParameters() {
     return typeParams.toArray(new JTypeParameter[typeParams.size()]);
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JMethod.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JMethod.java
index b4c835a..b4ac1a0 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JMethod.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JMethod.java
@@ -68,6 +68,7 @@
     return getReadableDeclaration(getModifierBits());
   }
 
+  @Override
   public String getReadableDeclaration(boolean noAccess, boolean noNative,
       boolean noStatic, boolean noFinal, boolean noAbstract) {
     int bits = getModifierBits();
@@ -89,10 +90,12 @@
     return getReadableDeclaration(bits);
   }
 
+  @Override
   public JType getReturnType() {
     return returnType;
   }
 
+  @Override
   public boolean isAbstract() {
     return 0 != (getModifierBits() & TypeOracle.MOD_ABSTRACT);
   }
@@ -102,6 +105,7 @@
     return null;
   }
 
+  @Override
   public boolean isFinal() {
     return 0 != (getModifierBits() & TypeOracle.MOD_FINAL);
   }
@@ -111,10 +115,12 @@
     return this;
   }
 
+  @Override
   public boolean isNative() {
     return 0 != (getModifierBits() & TypeOracle.MOD_NATIVE);
   }
 
+  @Override
   public boolean isStatic() {
     return 0 != (getModifierBits() & TypeOracle.MOD_STATIC);
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JPackage.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JPackage.java
index a7ab7bb..a9d5378 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JPackage.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JPackage.java
@@ -36,31 +36,38 @@
     this.name = name;
   }
 
+  @Override
   public JClassType findType(String typeName) {
     String[] parts = typeName.split("\\.");
     return findType(parts);
   }
 
+  @Override
   public JClassType findType(String[] typeName) {
     return findTypeImpl(typeName, 0);
   }
 
+  @Override
   public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
     return annotations.getAnnotation(annotationClass);
   }
 
+  @Override
   public Annotation[] getAnnotations() {
     return annotations.getAnnotations();
   }
 
+  @Override
   public Annotation[] getDeclaredAnnotations() {
     return annotations.getDeclaredAnnotations();
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public JClassType getType(String typeName) throws NotFoundException {
     JClassType result = findType(typeName);
     if (result == null) {
@@ -69,14 +76,17 @@
     return result;
   }
 
+  @Override
   public JClassType[] getTypes() {
     return types.values().toArray(TypeOracle.NO_JCLASSES);
   }
 
+  @Override
   public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
     return annotations.isAnnotationPresent(annotationClass);
   }
 
+  @Override
   public boolean isDefault() {
     return "".equals(name);
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameter.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameter.java
index bfc2eba..2d5c2ab 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameter.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameter.java
@@ -60,32 +60,39 @@
     annotations = ImmutableAnnotations.EMPTY.plus(declaredAnnotations);
   }
 
+  @Override
   public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
     return annotations.getAnnotation(annotationClass);
   }
 
+  @Override
   public Annotation[] getAnnotations() {
     return annotations.getAnnotations();
   }
 
+  @Override
   public Annotation[] getDeclaredAnnotations() {
     return annotations.getDeclaredAnnotations();
   }
 
+  @Override
   public JAbstractMethod getEnclosingMethod() {
     return enclosingMethod;
   }
 
+  @Override
   @Deprecated
   public final String[][] getMetaData(String tagName) {
     return TypeOracle.NO_STRING_ARR_ARR;
   }
 
+  @Override
   @Deprecated
   public final String[] getMetaDataTags() {
     return TypeOracle.NO_STRINGS;
   }
 
+  @Override
   public String getName() {
     if (!argNameIsReal) {
       name = enclosingMethod.getRealParameterName(this);
@@ -94,10 +101,12 @@
     return name;
   }
 
+  @Override
   public JType getType() {
     return type;
   }
 
+  @Override
   public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
     return annotations.isAnnotationPresent(annotationClass);
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameterizedType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameterizedType.java
index 513ff80..2878732 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameterizedType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JParameterizedType.java
@@ -96,6 +96,7 @@
 
     final JParameterizedType parameterizedType = this;
     members = new DelegateMembers(this, baseType, new Substitution() {
+      @Override
       public JClassType getSubstitution(JClassType type) {
         return type.getSubstitutedType(parameterizedType);
       }
@@ -197,6 +198,7 @@
   /**
    * @deprecated See {@link #getQualifiedSourceName()}
    */
+  @Override
   @Deprecated
   public String getNonParameterizedQualifiedSourceName() {
     return getQualifiedSourceName();
@@ -261,6 +263,7 @@
     return getBaseType().getQualifiedSourceName();
   }
 
+  @Override
   public JClassType getRawType() {
     return getBaseType().getRawType();
   }
@@ -325,6 +328,7 @@
     return lazySuperclass;
   }
 
+  @Override
   public JClassType[] getTypeArgs() {
     return typeArgs.toArray(TypeOracle.NO_JCLASSES);
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JRawType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JRawType.java
index 585cb7f..f2b0628 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JRawType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JRawType.java
@@ -28,6 +28,7 @@
 public class JRawType extends JMaybeParameterizedType implements
     com.google.gwt.core.ext.typeinfo.JRawType {
   private static final Substitution ERASURE_SUBSTITUTION = new Substitution() {
+    @Override
     public JClassType getSubstitution(JClassType type) {
       return type.getErasedType();
     }
@@ -42,6 +43,7 @@
     members = new DelegateMembers(this, getBaseType(), ERASURE_SUBSTITUTION);
   }
 
+  @Override
   public JParameterizedType asParameterizedByWildcards() {
     return getBaseType().asParameterizedByWildcards();
   }
@@ -87,6 +89,7 @@
     return members.getFields();
   }
 
+  @Override
   public JGenericType getGenericType() {
     return getBaseType();
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JTypeParameter.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JTypeParameter.java
index 41e908a..886fec6 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JTypeParameter.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JTypeParameter.java
@@ -47,10 +47,12 @@
     return getBaseType().findMethod(name, paramTypes);
   }
 
+  @Override
   public JClassType[] getBounds() {
     return bounds;
   }
 
+  @Override
   public JGenericType getDeclaringClass() {
     return declaringClass;
   }
@@ -71,6 +73,7 @@
     return getBaseType().getFields();
   }
 
+  @Override
   public JClassType getFirstBound() {
     return getBaseType();
   }
@@ -91,6 +94,7 @@
     return typeName;
   }
 
+  @Override
   public int getOrdinal() {
     return ordinal;
   }
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/JWildcardType.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/JWildcardType.java
index 07dcd5f..9f0e41e 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/JWildcardType.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/JWildcardType.java
@@ -43,6 +43,7 @@
     return getBaseType().findMethod(name, paramTypes);
   }
 
+  @Override
   public BoundType getBoundType() {
     return boundType;
   }
@@ -62,6 +63,7 @@
     return getBaseType().getFields();
   }
 
+  @Override
   public JClassType getFirstBound() {
     return getBaseType();
   }
@@ -72,6 +74,7 @@
    * 
    * @return the lower bounds of this wildcard type
    */
+  @Override
   public JClassType[] getLowerBounds() {
     if (lazyLowerBounds == null) {
       if (isUpperBound()) {
@@ -134,6 +137,7 @@
     return getOracle().getJavaLangObject();
   }
 
+  @Override
   public JClassType getUpperBound() {
     if (isUpperBound()) {
       return getFirstBound();
@@ -148,6 +152,7 @@
    * 
    * @return the upper bounds of this wildcard type
    */
+  @Override
   public JClassType[] getUpperBounds() {
     if (lazyUpperBounds == null) {
       if (isUpperBound()) {
diff --git a/dev/core/src/com/google/gwt/dev/javac/typemodel/TypeOracle.java b/dev/core/src/com/google/gwt/dev/javac/typemodel/TypeOracle.java
index 6cd285b..f1ac8b7 100644
--- a/dev/core/src/com/google/gwt/dev/javac/typemodel/TypeOracle.java
+++ b/dev/core/src/com/google/gwt/dev/javac/typemodel/TypeOracle.java
@@ -149,6 +149,7 @@
    */
   public static void sort(JClassType[] types) {
     Arrays.sort(types, new Comparator<JClassType>() {
+      @Override
       public int compare(JClassType type1, JClassType type2) {
         String name1 = type1.getQualifiedSourceName();
         String name2 = type2.getQualifiedSourceName();
@@ -164,6 +165,7 @@
    */
   public static void sort(JConstructor[] ctors) {
     Arrays.sort(ctors, new Comparator<JConstructor>() {
+      @Override
       public int compare(JConstructor o1, JConstructor o2) {
         // Nothing for now; could enhance to sort based on parameter list
         return 0;
@@ -178,6 +180,7 @@
    */
   public static void sort(JField[] fields) {
     Arrays.sort(fields, new Comparator<JField>() {
+      @Override
       public int compare(JField f1, JField f2) {
         String name1 = f1.getName();
         String name2 = f2.getName();
@@ -193,6 +196,7 @@
    */
   public static void sort(JMethod[] methods) {
     Arrays.sort(methods, new Comparator<JMethod>() {
+      @Override
       public int compare(JMethod m1, JMethod m2) {
         String name1 = m1.getName();
         String name2 = m2.getName();
@@ -619,6 +623,7 @@
     Collection<JRealClassType> values = allTypes.values();
     JClassType[] result = values.toArray(new JClassType[values.size()]);
     Arrays.sort(result, new Comparator<JClassType>() {
+      @Override
       public int compare(JClassType o1, JClassType o2) {
         return o1.getQualifiedSourceName().compareTo(o2.getQualifiedSourceName());
       }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java b/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java
index cf302e3..a7ff5bf 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/AstConstructor.java
@@ -61,10 +61,12 @@
         return new String[0];
       }
 
+      @Override
       public CompilationState getCompilationState() {
         return state;
       }
 
+      @Override
       public StandardGeneratorContext getGeneratorContext() {
         return null;
       }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/Correlation.java b/dev/core/src/com/google/gwt/dev/jjs/Correlation.java
index 87e8d16..d1d736e 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/Correlation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/Correlation.java
@@ -91,6 +91,7 @@
    */
   public static final Comparator<Correlation> AXIS_IDENT_COMPARATOR =
       new Comparator<Correlation>() {
+        @Override
         public int compare(Correlation a, Correlation b) {
           int r = a.axis.compareTo(b.axis);
           if (r != 0) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/JJSOptionsImpl.java b/dev/core/src/com/google/gwt/dev/jjs/JJSOptionsImpl.java
index 00898d6..664f9e3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/JJSOptionsImpl.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/JJSOptionsImpl.java
@@ -121,6 +121,7 @@
     return sourceLevel;
   }
 
+  @Override
   @Deprecated
   public boolean isAggressivelyOptimize() {
     return aggressivelyOptimize;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java b/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java
index ab5cb8d..e81f979 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/SourceInfoCorrelation.java
@@ -57,6 +57,7 @@
   /**
    * Add a Correlation to the SourceInfo.
    */
+  @Override
   public void addCorrelation(Correlation c) {
     if (primaryCorrelations == null) {
       primaryCorrelations = new Correlation[NUM_AXES];
@@ -65,6 +66,7 @@
     primaryCorrelations[index] = c;
   }
 
+  @Override
   public Correlation getCorrelation(Axis axis) {
     if (primaryCorrelations != null) {
       Correlation c = primaryCorrelations[axis.ordinal()];
@@ -78,6 +80,7 @@
     return null;
   }
 
+  @Override
   public Correlation[] getCorrelations() {
     if (parent == null) {
       if (primaryCorrelations == null) {
@@ -99,18 +102,22 @@
     }
   }
 
+  @Override
   public CorrelationFactory getCorrelator() {
     return RealCorrelationFactory.INSTANCE;
   }
 
+  @Override
   public int getEndPos() {
     return getOrigin().getEndPos();
   }
 
+  @Override
   public String getFileName() {
     return getOrigin().getFileName();
   }
 
+  @Override
   public SourceOrigin getOrigin() {
     return origin;
   }
@@ -150,18 +157,22 @@
     return null;
   }
 
+  @Override
   public int getStartLine() {
     return getOrigin().getStartLine();
   }
 
+  @Override
   public int getStartPos() {
     return getOrigin().getStartPos();
   }
 
+  @Override
   public SourceInfo makeChild() {
     return new SourceInfoCorrelation(this, this.origin);
   }
 
+  @Override
   public SourceInfo makeChild(SourceOrigin origin) {
     return new SourceInfoCorrelation(this, origin);
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/SourceOrigin.java b/dev/core/src/com/google/gwt/dev/jjs/SourceOrigin.java
index 8d102a5..02cafcf 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/SourceOrigin.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/SourceOrigin.java
@@ -122,6 +122,7 @@
     this.startLine = startLine;
   }
 
+  @Override
   public void addCorrelation(Correlation c) {
   }
 
@@ -135,34 +136,42 @@
         && getStartPos() == other.getStartPos() && fileName.equals(other.fileName);
   }
 
+  @Override
   public Correlation getCorrelation(Axis axis) {
     return null;
   }
 
+  @Override
   public Correlation[] getCorrelations() {
     return NO_CORRELATIONS;
   }
 
+  @Override
   public CorrelationFactory getCorrelator() {
     return DummyCorrelationFactory.INSTANCE;
   }
 
+  @Override
   public int getEndPos() {
     return -1;
   }
 
+  @Override
   public String getFileName() {
     return fileName;
   }
 
+  @Override
   public SourceOrigin getOrigin() {
     return this;
   }
 
+  @Override
   public int getStartLine() {
     return startLine;
   }
 
+  @Override
   public int getStartPos() {
     return -1;
   }
@@ -172,10 +181,12 @@
     return 2 + 13 * fileName.hashCode() + 17 * startLine + 29 * getStartPos() + 31 * getEndPos();
   }
 
+  @Override
   public SourceInfo makeChild() {
     return this;
   }
 
+  @Override
   public SourceInfo makeChild(SourceOrigin origin) {
     return origin;
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java b/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java
index d12cf10..377424f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/HasName.java
@@ -30,6 +30,7 @@
   public static final class Util {
     public static <T extends HasName> void sortByName(List<T> list) {
       Collections.sort(list, new Comparator<T>() {
+        @Override
         public int compare(T o1, T o2) {
           return o1.getName().compareTo(o2.getName());
         }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java
index 51fe3c8..67cf2c1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JAbsentArrayDimension.java
@@ -30,10 +30,12 @@
     super(sourceInfo);
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.VOID;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayLength.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayLength.java
index 96854e9..1c172fa 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayLength.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayLength.java
@@ -34,6 +34,7 @@
     return instance;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.INT;
   }
@@ -43,6 +44,7 @@
     return instance.hasSideEffects();
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       instance = visitor.accept(instance);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java
index faca01c..181bea1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayRef.java
@@ -47,6 +47,7 @@
     return instance;
   }
 
+  @Override
   public JType getType() {
     JArrayType arrayType = getArrayType();
     return (arrayType == null) ? JNullType.INSTANCE : arrayType.getElementType();
@@ -59,6 +60,7 @@
         || instance.getType() == JNullType.INSTANCE;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       instance = visitor.accept(instance);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java
index bd4877a..a2d6846 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JArrayType.java
@@ -72,6 +72,7 @@
     return leafType;
   }
 
+  @Override
   public boolean isAbstract() {
     return false;
   }
@@ -81,6 +82,7 @@
     return elementType.isExternal();
   }
 
+  @Override
   public boolean isFinal() {
     return elementType.isFinal();
   }
@@ -91,6 +93,7 @@
         && elementType.replaces(((JArrayType) originalType).getElementType());
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java
index a2df292..80e9d3a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JAssertStatement.java
@@ -39,6 +39,7 @@
     return testExpr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       testExpr = visitor.accept(testExpr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java
index e34460f..3bbe4f5 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBinaryOperation.java
@@ -48,6 +48,7 @@
     return rhs;
   }
 
+  @Override
   public JType getType() {
     if (isAssignment()) {
       // Use the type of the lhs
@@ -71,6 +72,7 @@
     type = newType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       if (isAssignment()) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java
index 61aee39..0251dac 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBlock.java
@@ -78,6 +78,7 @@
     statements = Lists.remove(statements, index);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       statements = visitor.acceptWithInsertRemoveImmutable(statements);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java
index 2db044c..d5d197c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBooleanLiteral.java
@@ -43,6 +43,7 @@
     return value instanceof JBooleanLiteral ? value : null;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.BOOLEAN;
   }
@@ -56,6 +57,7 @@
     return Boolean.valueOf(value);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java
index 62a2c94..2b95ec1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JBreakStatement.java
@@ -33,6 +33,7 @@
     return label;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       if (label != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java
index 60d50d6..6d376bc 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JCaseStatement.java
@@ -33,6 +33,7 @@
     return expr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       if (expr != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java
index 6850f5b..55a8bfd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JCastOperation.java
@@ -39,6 +39,7 @@
     return expr;
   }
 
+  @Override
   public JType getType() {
     return castType;
   }
@@ -60,6 +61,7 @@
     castType = newType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       expr = visitor.accept(expr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java
index 79e2533..4d32119 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JCharLiteral.java
@@ -48,6 +48,7 @@
     return null;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.CHAR;
   }
@@ -61,6 +62,7 @@
     return Character.valueOf(value);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java
index 1d490d4..30bf22d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassLiteral.java
@@ -52,6 +52,7 @@
     return refType;
   }
 
+  @Override
   public JType getType() {
     return field.getType();
   }
@@ -72,6 +73,7 @@
     this.field = field;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
index d149f4f..add1fa6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JClassType.java
@@ -66,6 +66,7 @@
     return superClass;
   }
 
+  @Override
   public boolean isAbstract() {
     return isAbstract;
   }
@@ -77,10 +78,12 @@
     return null;
   }
 
+  @Override
   public boolean isFinal() {
     return isFinal;
   }
 
+  @Override
   public void setFinal() {
     isFinal = true;
   }
@@ -92,6 +95,7 @@
     this.superClass = superClass;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       fields = visitor.acceptWithInsertRemoveImmutable(fields);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java
index bb41a95..cd917db 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JConditional.java
@@ -48,6 +48,7 @@
     return thenExpr;
   }
 
+  @Override
   public JType getType() {
     return type;
   }
@@ -61,6 +62,7 @@
     type = newType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       ifTest = visitor.accept(ifTest);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java
index 72d4956..b3f5a7e 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JContinueStatement.java
@@ -33,6 +33,7 @@
     return label;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       if (label != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclarationStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclarationStatement.java
index a1de3bd..fd6a5b7 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclarationStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JDeclarationStatement.java
@@ -41,6 +41,7 @@
     return variableRef;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       variableRef = (JVariableRef) visitor.acceptLvalue(variableRef);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java
index e741c7d..65825e8 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoStatement.java
@@ -39,6 +39,7 @@
     return testExpr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       testExpr = visitor.accept(testExpr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java
index 3c1be00..4c47cb7 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JDoubleLiteral.java
@@ -58,6 +58,7 @@
     return null;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.DOUBLE;
   }
@@ -71,6 +72,7 @@
     return new Double(value);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java
index 27f5771..1378a11 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JExpressionStatement.java
@@ -36,6 +36,7 @@
     return expr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       expr = visitor.accept(expr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
index d124d87..e10c157 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JField.java
@@ -100,6 +100,7 @@
     return getEnclosingType().getName() + "." + getName();
   }
 
+  @Override
   public JDeclaredType getEnclosingType() {
     return enclosingType;
   }
@@ -131,6 +132,7 @@
     return getEnclosingType() != null && getEnclosingType().isExternal();
   }
 
+  @Override
   public boolean isStatic() {
     return isStatic;
   }
@@ -151,6 +153,7 @@
     super.setFinal();
   }
 
+  @Override
   public void setInitializer(JDeclarationStatement declStmt) {
     this.declStmt = declStmt;
   }
@@ -162,6 +165,7 @@
     isVolatile = true;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       // Do not visit declStmt, it gets visited within its own code block.
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java
index 5d73741..a64d812 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JFieldRef.java
@@ -53,6 +53,7 @@
     this.overriddenType = overriddenType;
   }
 
+  @Override
   public JDeclaredType getEnclosingType() {
     return enclosingType;
   }
@@ -105,6 +106,7 @@
     target = newField;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       if (instance != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java
index 1123320..ee1116f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JFloatLiteral.java
@@ -58,6 +58,7 @@
     return null;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.FLOAT;
   }
@@ -71,6 +72,7 @@
     return new Float(value);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java
index 7acd57a..c097c48 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JGwtCreate.java
@@ -122,6 +122,7 @@
     return sourceType;
   }
 
+  @Override
   public JType getType() {
     return type;
   }
@@ -140,6 +141,7 @@
     type = newType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(instantiationExpressions);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java
index b5a232a..f32358b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JIfStatement.java
@@ -45,6 +45,7 @@
     return thenStmt;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       ifExpr = visitor.accept(ifExpr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
index 53c46e3..ed8a9cd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JInstanceOf.java
@@ -39,6 +39,7 @@
     return testType;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.BOOLEAN;
   }
@@ -56,6 +57,7 @@
     testType = newType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       expr = visitor.accept(expr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java
index 2da5db3..2aeb4da 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JIntLiteral.java
@@ -49,6 +49,7 @@
     return null;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.INT;
   }
@@ -62,6 +63,7 @@
     return Integer.valueOf(value);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java
index e921057..f5441e9 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JInterfaceType.java
@@ -59,14 +59,17 @@
     return null;
   }
 
+  @Override
   public boolean isAbstract() {
     return true;
   }
 
+  @Override
   public boolean isFinal() {
     return false;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       fields = visitor.acceptWithInsertRemoveImmutable(fields);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java
index 894eea6..d59e3ea 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabel.java
@@ -30,10 +30,12 @@
     this.name = StringInterner.get().intern(name);
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java
index 61b38b1..7a2d2e4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLabeledStatement.java
@@ -39,6 +39,7 @@
     return label;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(label);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
index 34a6133..d10049b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocal.java
@@ -29,14 +29,17 @@
     this.enclosingMethodBody = enclosingMethodBody;
   }
 
+  @Override
   public JMethod getEnclosingMethod() {
     return enclosingMethodBody.method;
   }
 
+  @Override
   public void setInitializer(JDeclarationStatement declStmt) {
     this.declStmt = declStmt;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       // Do not visit declStmt, it gets visited within its own code block.
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java
index 2d1add8..1c883a3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLocalRef.java
@@ -41,6 +41,7 @@
     return false;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java
index 6411227..251a148 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JLongLiteral.java
@@ -49,6 +49,7 @@
     return null;
   }
 
+  @Override
   public JType getType() {
     return JPrimitiveType.LONG;
   }
@@ -62,6 +63,7 @@
     return Long.valueOf(value);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
index f11627e..0167d65 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethod.java
@@ -225,10 +225,12 @@
     return body;
   }
 
+  @Override
   public JDeclaredType getEnclosingType() {
     return enclosingType;
   }
 
+  @Override
   public String getName() {
     return name;
   }
@@ -278,10 +280,12 @@
     return thrownExceptions;
   }
 
+  @Override
   public JType getType() {
     return returnType;
   }
 
+  @Override
   public boolean isAbstract() {
     return isAbstract;
   }
@@ -298,10 +302,12 @@
     return getEnclosingType() != null && getEnclosingType().isExternal();
   }
 
+  @Override
   public boolean isFinal() {
     return isFinal;
   }
 
+  @Override
   public boolean isNative() {
     if (body == null) {
       return false;
@@ -314,6 +320,7 @@
     return access == AccessModifier.PRIVATE.ordinal();
   }
 
+  @Override
   public boolean isStatic() {
     return isStatic;
   }
@@ -369,6 +376,7 @@
     }
   }
 
+  @Override
   public void setFinal() {
     isFinal = true;
   }
@@ -411,6 +419,7 @@
     returnType = newType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     String before = null;
     before = traceBefore(visitor);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodBody.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodBody.java
index 284a30c..55a7124 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodBody.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodBody.java
@@ -76,6 +76,7 @@
     locals = Lists.sort(locals, sort);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       locals = visitor.acceptImmutable(locals);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java
index ee89165..8b17bea 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JMethodCall.java
@@ -162,6 +162,7 @@
     return method;
   }
 
+  @Override
   public JType getType() {
     if (overrideReturnType != null) {
       return overrideReturnType;
@@ -237,6 +238,7 @@
     polymorphism = Polymorphism.VOLATILE;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitChildren(visitor);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java
index 2fb9af9..3a6789d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java
@@ -39,30 +39,36 @@
       this.list = list;
     }
 
+    @Override
     public boolean canInsert() {
       return true;
     }
 
+    @Override
     public boolean canRemove() {
       return true;
     }
 
+    @Override
     public void insertAfter(JNode node) {
       checkRemoved();
       list.add(index + 1, (T) node);
       ++numVisitorChanges;
     }
 
+    @Override
     public void insertBefore(JNode node) {
       checkRemoved();
       list.add(index++, (T) node);
       ++numVisitorChanges;
     }
 
+    @Override
     public boolean isLvalue() {
       return false;
     }
 
+    @Override
     public void removeMe() {
       checkState();
       list.remove(index--);
@@ -70,6 +76,7 @@
       ++numVisitorChanges;
     }
 
+    @Override
     public void replaceMe(JNode node) {
       checkState();
       checkReplacement(list.get(index), node);
@@ -121,30 +128,36 @@
       this.list = list;
     }
 
+    @Override
     public boolean canInsert() {
       return true;
     }
 
+    @Override
     public boolean canRemove() {
       return true;
     }
 
+    @Override
     public void insertAfter(JNode node) {
       checkRemoved();
       list = Lists.add(list, index + 1, (T) node);
       ++numVisitorChanges;
     }
 
+    @Override
     public void insertBefore(JNode node) {
       checkRemoved();
       list = Lists.add(list, index++, (T) node);
       ++numVisitorChanges;
     }
 
+    @Override
     public boolean isLvalue() {
       return false;
     }
 
+    @Override
     public void removeMe() {
       checkState();
       list = Lists.remove(list, index--);
@@ -152,6 +165,7 @@
       ++numVisitorChanges;
     }
 
+    @Override
     public void replaceMe(JNode node) {
       checkState();
       checkReplacement(list.get(index), node);
@@ -209,26 +223,32 @@
       this.canRemove = canRemove;
     }
 
+    @Override
     public boolean canInsert() {
       return false;
     }
 
+    @Override
     public boolean canRemove() {
       return this.canRemove;
     }
 
+    @Override
     public void insertAfter(JNode node) {
       throw new UnsupportedOperationException("Can't insert after " + node);
     }
 
+    @Override
     public void insertBefore(JNode node) {
       throw new UnsupportedOperationException("Can't insert before " + node);
     }
 
+    @Override
     public boolean isLvalue() {
       return false;
     }
 
+    @Override
     public void removeMe() {
       if (!canRemove) {
         throw new UnsupportedOperationException("Can't remove " + node);
@@ -238,6 +258,7 @@
       ++numVisitorChanges;
     }
 
+    @Override
     public void replaceMe(JNode node) {
       if (replaced) {
         throw new InternalCompilerException("Node was already replaced");
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNameOf.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNameOf.java
index e1f3553..2780a64 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNameOf.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNameOf.java
@@ -72,6 +72,7 @@
     return node;
   }
 
+  @Override
   public JNonNullType getType() {
     return stringType.getNonNull();
   }
@@ -91,6 +92,7 @@
     this.stringType = stringType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       // Intentionally not visiting referenced node
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java
index 21e2f47..944a2aa 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNewArray.java
@@ -95,6 +95,7 @@
     return classLiterals;
   }
 
+  @Override
   public JNonNullType getType() {
     return type.getNonNull();
   }
@@ -123,6 +124,7 @@
     this.type = type;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       assert ((dims != null) ^ (initializers != null));
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java
index 74e8de1..670bb34 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNode.java
@@ -35,6 +35,7 @@
     this.info = info;
   }
 
+  @Override
   public SourceInfo getSourceInfo() {
     return info;
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNonNullType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNonNullType.java
index 1667658..1965e3a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNonNullType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNonNullType.java
@@ -59,6 +59,7 @@
     return ref;
   }
 
+  @Override
   public boolean isAbstract() {
     return ref.isAbstract();
   }
@@ -68,10 +69,12 @@
     return ref.isExternal();
   }
 
+  @Override
   public boolean isFinal() {
     return ref.isFinal();
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     visitor.accept(ref);
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java
index 09f4e63..4f8f70c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullLiteral.java
@@ -29,6 +29,7 @@
     super(sourceInfo);
   }
 
+  @Override
   public JType getType() {
     return JNullType.INSTANCE;
   }
@@ -38,6 +39,7 @@
     return null;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java
index 0bd8bff..abc56a8 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JNullType.java
@@ -45,14 +45,17 @@
     return "N";
   }
 
+  @Override
   public boolean isAbstract() {
     return false;
   }
 
+  @Override
   public boolean isFinal() {
     return true;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java
index 92c0069..db6422d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameter.java
@@ -44,6 +44,7 @@
     this.isThis = isThis;
   }
 
+  @Override
   public JMethod getEnclosingMethod() {
     return enclosingMethod;
   }
@@ -56,10 +57,12 @@
     return isThis;
   }
 
+  @Override
   public void setInitializer(JDeclarationStatement declStmt) {
     throw new UnsupportedOperationException("A JParameter cannot have an initializer");
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java
index 5d0ce4b..23a4e48 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JParameterRef.java
@@ -41,6 +41,7 @@
     return false;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java
index a28a380..41c0aa1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JPrimitiveType.java
@@ -109,10 +109,12 @@
     return wrapperTypeName;
   }
 
+  @Override
   public boolean isFinal() {
     return true;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JReboundEntryPoint.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JReboundEntryPoint.java
index a3f2a48..b6eaeb0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JReboundEntryPoint.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JReboundEntryPoint.java
@@ -50,6 +50,7 @@
     return sourceType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(entryCalls);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java
index 1f9d16d..c302482 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JReturnStatement.java
@@ -33,6 +33,7 @@
     return expr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       if (expr != null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JRunAsync.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JRunAsync.java
index 6c482bb..92a2d9f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JRunAsync.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JRunAsync.java
@@ -95,6 +95,7 @@
     return true;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       /*
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JSeedIdOf.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JSeedIdOf.java
index ab1ca95..2ac5e4e 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JSeedIdOf.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JSeedIdOf.java
@@ -26,6 +26,7 @@
     super(info, stringType, node);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       // Intentionally not visiting referenced node
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java
index a3ef599..4387714 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JStringLiteral.java
@@ -37,6 +37,7 @@
     throw new UnsupportedOperationException();
   }
 
+  @Override
   public JNonNullType getType() {
     return stringType.getNonNull();
   }
@@ -58,6 +59,7 @@
     this.stringType = stringType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java
index 7124554..7ced59e 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JSwitchStatement.java
@@ -39,6 +39,7 @@
     return expr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       expr = visitor.accept(expr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java
index 8fbd1a0..7b2c5cbd 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JThisRef.java
@@ -33,6 +33,7 @@
     return type;
   }
 
+  @Override
   public JNonNullType getType() {
     return type.getNonNull();
   }
@@ -42,6 +43,7 @@
     return false;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java
index 834bec1..e4fb93f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JThrowStatement.java
@@ -33,6 +33,7 @@
     return expr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       expr = visitor.accept(expr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java
index 1c2a707..741e71f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JTryStatement.java
@@ -87,6 +87,7 @@
     return tryBlock;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(tryBlock);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperation.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperation.java
index 6430673..3d39359 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JUnaryOperation.java
@@ -39,6 +39,7 @@
     return op;
   }
 
+  @Override
   public JType getType() {
     // Unary operators don't change the type of their expression
     return arg.getType();
@@ -49,6 +50,7 @@
     return getOp().isModifying() || arg.hasSideEffects();
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (getOp().isModifying()) {
       arg = visitor.acceptLvalue(arg);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
index cc2bf4b..9f6248a 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
@@ -37,6 +37,7 @@
     this.isFinal = isFinal;
   }
 
+  @Override
   public JLiteral getConstInitializer() {
     JExpression initializer = getInitializer();
     if (isFinal() && initializer instanceof JLiteral) {
@@ -56,22 +57,27 @@
     return null;
   }
 
+  @Override
   public String getName() {
     return name;
   }
 
+  @Override
   public JType getType() {
     return type;
   }
 
+  @Override
   public boolean hasInitializer() {
     return declStmt != null;
   }
 
+  @Override
   public boolean isFinal() {
     return isFinal;
   }
 
+  @Override
   public void setFinal() {
     isFinal = true;
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java
index 3dcf6a3..4229936 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVariableRef.java
@@ -33,6 +33,7 @@
     return target;
   }
 
+  @Override
   public JType getType() {
     return target.getType();
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java
index 5887657..3176322 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JVisitor.java
@@ -37,30 +37,37 @@
 
   protected static final Context LVALUE_CONTEXT = new Context() {
 
+    @Override
     public boolean canInsert() {
       return false;
     }
 
+    @Override
     public boolean canRemove() {
       return false;
     }
 
+    @Override
     public void insertAfter(JNode node) {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void insertBefore(JNode node) {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public boolean isLvalue() {
       return true;
     }
 
+    @Override
     public void removeMe() {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void replaceMe(JNode node) {
       throw new UnsupportedOperationException();
     }
@@ -68,30 +75,37 @@
 
   protected static final Context UNMODIFIABLE_CONTEXT = new Context() {
 
+    @Override
     public boolean canInsert() {
       return false;
     }
 
+    @Override
     public boolean canRemove() {
       return false;
     }
 
+    @Override
     public void insertAfter(JNode node) {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void insertBefore(JNode node) {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public boolean isLvalue() {
       return false;
     }
 
+    @Override
     public void removeMe() {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void replaceMe(JNode node) {
       throw new UnsupportedOperationException();
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java b/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java
index af77da3..a6d7eab 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/JWhileStatement.java
@@ -39,6 +39,7 @@
     return testExpr;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       testExpr = visitor.accept(testExpr);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java
index d84b3be..b8d34d2 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JMultiExpression.java
@@ -95,6 +95,7 @@
    * Returns the multi expression type, i.e. the type of the last expression in the list or
    * {@code void} if empty.
    */
+  @Override
   public JType getType() {
     int size = expressions.size();
     if (size == 0) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsCastMap.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsCastMap.java
index ae49d9d..cf993e0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsCastMap.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsCastMap.java
@@ -48,6 +48,7 @@
       return queryType;
     }
 
+    @Override
     public void traverse(JVisitor visitor, Context ctx) {
       if (visitor.visit(this, ctx)) {
       }
@@ -60,6 +61,7 @@
     getExprs().addAll(queryTypes);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(getExprs());
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsniMethodBody.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsniMethodBody.java
index 0c2fcc4..fb114ce 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsniMethodBody.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsniMethodBody.java
@@ -117,6 +117,7 @@
     stringLiterals = Sets.normalize(result);
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       classRefs = visitor.acceptImmutable(classRefs);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java
index e9d1a5f..b82388d 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonArray.java
@@ -42,6 +42,7 @@
     return exprs;
   }
 
+  @Override
   public JClassType getType() {
     return jsoType;
   }
@@ -64,6 +65,7 @@
     this.jsoType = jsoType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(exprs);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java
index d616cd4..7767fe2 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/ast/js/JsonObject.java
@@ -44,6 +44,7 @@
       this.valueExpr = valueExpr;
     }
 
+    @Override
     public void traverse(JVisitor visitor, Context ctx) {
       if (visitor.visit(this, ctx)) {
         labelExpr = visitor.accept(labelExpr);
@@ -61,6 +62,7 @@
     this.jsoType = jsoType;
   }
 
+  @Override
   public JClassType getType() {
     return jsoType;
   }
@@ -83,6 +85,7 @@
     this.jsoType = jsoType;
   }
 
+  @Override
   public void traverse(JVisitor visitor, Context ctx) {
     if (visitor.visit(this, ctx)) {
       visitor.accept(propInits);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java
index 0e374ed..708136f 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/EnumOrdinalizer.java
@@ -195,6 +195,7 @@
             }
 
             Collections.sort(infos, new Comparator<SourceInfo>() {
+              @Override
               public int compare(SourceInfo s1, SourceInfo s2) {
                 int fileNameComp = s1.getFileName().compareTo(s2.getFileName());
                 if (fileNameComp != 0) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/HasNameSort.java b/dev/core/src/com/google/gwt/dev/jjs/impl/HasNameSort.java
index f491136d..9a102db 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/HasNameSort.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/HasNameSort.java
@@ -24,6 +24,7 @@
  * Comparator for <code>HasName</code> instances.
  */
 public class HasNameSort implements Comparator<HasName>, Serializable {
+  @Override
   public int compare(HasName h1, HasName h2) {
     return h1.getName().compareTo(h2.getName());
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/JsFunctionClusterer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/JsFunctionClusterer.java
index 4e61d6e..50f8f79 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/JsFunctionClusterer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/JsFunctionClusterer.java
@@ -108,6 +108,7 @@
     
     // sort the indices according to size of statement range
     Collections.sort(functionIndices, new Comparator<Integer>() {
+      @Override
       public int compare(Integer index1, Integer index2) {
         return stmtSize(index1) - (stmtSize(index2));
       }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceGetClassOverrides.java b/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceGetClassOverrides.java
index 18152d0..bbd1c97 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceGetClassOverrides.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceGetClassOverrides.java
@@ -45,6 +45,7 @@
       clazzField = program.getIndexedField("Object.___clazz");
     }
 
+    @Override
     public void endVisit(JMethod x, Context ctx) {
       // don't prune JSO.getClass()
       if (x.getEnclosingType() == program.getJavaScriptObject()) {
@@ -55,6 +56,7 @@
       }
     }
 
+    @Override
     public void endVisit(JMethodCall x, Context ctx) {
       // don't inline JSO.getClass()
       if (x.getTarget().getEnclosingType() == program.getJavaScriptObject()) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/TextOutputVisitor.java b/dev/core/src/com/google/gwt/dev/jjs/impl/TextOutputVisitor.java
index d2798ac..32ddfc9 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/TextOutputVisitor.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/TextOutputVisitor.java
@@ -40,46 +40,57 @@
     return textOutput.getLine();
   }
 
+  @Override
   public int getPosition() {
     return textOutput.getPosition();
   }
 
+  @Override
   public void indentIn() {
     textOutput.indentIn();
   }
 
+  @Override
   public void indentOut() {
     textOutput.indentOut();
   }
 
+  @Override
   public void newline() {
     textOutput.newline();
   }
 
+  @Override
   public void newlineOpt() {
     textOutput.newlineOpt();
   }
 
+  @Override
   public void print(char c) {
     textOutput.print(c);
   }
 
+  @Override
   public void print(char[] s) {
     textOutput.print(s);
   }
 
+  @Override
   public void print(String s) {
     textOutput.print(s);
   }
 
+  @Override
   public void printOpt(char c) {
     textOutput.printOpt(c);
   }
 
+  @Override
   public void printOpt(char[] s) {
     textOutput.printOpt(s);
   }
 
+  @Override
   public void printOpt(String s) {
     textOutput.printOpt(s);
   }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java b/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java
index 68b7c4c..3d91aa4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/UnifyAst.java
@@ -441,6 +441,7 @@
           searchForTypeByBinary(ref.className());
         }
         node = JsniRefLookup.findJsniRefTarget(ref, program, new JsniRefLookup.ErrorReporter() {
+          @Override
           public void reportError(String errMsg) {
             error(x, errMsg);
           }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitters.java b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitters.java
index eacaa75..c023da4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitters.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitters.java
@@ -119,6 +119,7 @@
       final String lookupErrorHolder[] = new String[1];
       JNode referent =
           JsniRefLookup.findJsniRefTarget(jsniRef, program, new JsniRefLookup.ErrorReporter() {
+            @Override
             public void reportError(String error) {
               lookupErrorHolder[0] = error;
             }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/EchoStatementLogger.java b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/EchoStatementLogger.java
index f6d5e10..c176dcb 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/EchoStatementLogger.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/EchoStatementLogger.java
@@ -36,6 +36,7 @@
     this.map = map;
   }
 
+  @Override
   public void log(JsStatement statement, boolean include) {
     if (!include) {
       return;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/ExclusivityMap.java b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/ExclusivityMap.java
index f9f5475..646c6b6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/ExclusivityMap.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/ExclusivityMap.java
@@ -60,22 +60,27 @@
       this.fragment = fragment;
     }
 
+    @Override
     public boolean isLive(JDeclaredType type) {
       return isLiveInFragment(fragment, type);
     }
 
+    @Override
     public boolean isLive(JField field) {
       return isLiveInFragment(fragment, field);
     }
 
+    @Override
     public boolean isLive(JMethod method) {
       return isLiveInFragment(fragment, method);
     }
 
+    @Override
     public boolean isLive(String literal) {
       return isLiveInFragment(fragment, literal);
     }
 
+    @Override
     public boolean miscellaneousStatementsAreLive() {
       return true;
     }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/MultipleDependencyGraphRecorder.java b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/MultipleDependencyGraphRecorder.java
index 07cbc5c..40a9fb8 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/MultipleDependencyGraphRecorder.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/codesplitter/MultipleDependencyGraphRecorder.java
@@ -30,18 +30,23 @@
    */
   MultipleDependencyGraphRecorder NULL_RECORDER =
       new MultipleDependencyGraphRecorder() {
+        @Override
         public void close() {
         }
 
+        @Override
         public void endDependencyGraph() {
         }
 
+        @Override
         public void methodIsLiveBecause(JMethod liveMethod, ArrayList<JMethod> dependencyChain) {
         }
 
+        @Override
         public void open() {
         }
 
+        @Override
         public void startDependencyGraph(String name, String extendz) {
         }
       };
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/AnalysisSolver.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/AnalysisSolver.java
index 5bd096e..c1da075 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/AnalysisSolver.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/AnalysisSolver.java
@@ -57,15 +57,18 @@
       flowFunction = analysis.getIntegratedFlowFunction();
     }
 
+    @Override
     public void interpret(final N node, G graph, 
         final AssumptionMap<E, A> assumptionMap) {
       final boolean[] mapWasModified = new boolean[1];
       Transformation<T, G> transformation = flowFunction.interpretOrReplace(
           node, graph, new AssumptionMap<E, A>() {
+            @Override
             public A getAssumption(E edge) {
               return assumptionMap.getAssumption(edge);
             }
 
+            @Override
             public void setAssumption(E edge, A assumption) {
               mapWasModified[0] = true;
               assumptionMap.setAssumption(edge, assumption);
@@ -99,11 +102,13 @@
 
       iterate(newSubgraph,
           new IntegratedAnalysis<N, E, T, G, A>() {
+            @Override
             public IntegratedFlowFunction<N, E, T, G, A> 
             getIntegratedFlowFunction() {
               return flowFunction;
             }
 
+            @Override
             public void setInitialGraphAssumptions(G graph,
                 AssumptionMap<E, A> newAssumptionMap) {
               for (int i = 0; i < inEdges.size(); ++i) {
@@ -183,17 +188,20 @@
       final IntegratedAnalysis<N, E, T, G, A> analysis) {
     TransformationFunction<N, E, T, G, A> function = 
       new TransformationFunction<N, E, T, G, A>() {
+      @Override
       public Transformation<T, G> transform(final N node, final G graph,
           AssumptionMap<E, A> assumptionMap) {
         final boolean[] didAssumptionChange = new boolean[1];
         Transformation<T, G> transformation = analysis.getIntegratedFlowFunction().interpretOrReplace(
               node, graph, new AssumptionMap<E, A>() {
+                @Override
                 public A getAssumption(E edge) {
                   Preconditions.checkArgument(graph.getStart(edge) == node
                       || graph.getEnd(edge) == node);
                   return getEdgeAssumption(graph, edge);
                 }
 
+                @Override
                 public void setAssumption(E edge, A assumption) {
                   Preconditions.checkArgument(graph.getStart(edge) == node
                       || graph.getEnd(edge) == node);
@@ -215,12 +223,14 @@
     for (final N node : graph.getNodes()) {
       Transformation<T, G> transformation = transformationFunction.transform(
           node, graph, new AssumptionMap<E, A>() {
+            @Override
             public A getAssumption(E edge) {
               Preconditions.checkArgument(graph.getStart(edge) == node
                   || graph.getEnd(edge) == node);
               return getEdgeAssumption(graph, edge);
             }
 
+            @Override
             public void setAssumption(E edge, A assumption) {
               throw new IllegalStateException(
                   "Transformations should not change assumptions");
@@ -254,10 +264,12 @@
 
   private void initGraphAssumptions(Analysis<N, E, G, A> analysis, final G graph) {
     analysis.setInitialGraphAssumptions(graph, new AssumptionMap<E, A>() {
+      @Override
       public A getAssumption(E edge) {
         return getEdgeAssumption(graph, edge);
       }
 
+      @Override
       public void setAssumption(E edge, A assumption) {
         setEdgeAssumption(graph, edge, assumption);
       }
@@ -281,10 +293,12 @@
       new IntegratedFlowFunctionAdapter(integratedAnalysis);
 
     Analysis<N, E, G, A> analysis = new Analysis<N, E, G, A>() {
+      @Override
       public FlowFunction<N, E, G, A> getFlowFunction() {
         return adapter;
       }
 
+      @Override
       public void setInitialGraphAssumptions(G graph,
           AssumptionMap<E, A> assumptionMap) {
         integratedAnalysis.setInitialGraphAssumptions(graph, assumptionMap);
@@ -357,12 +371,14 @@
       iterator.remove();
 
       flowFunction.interpret(node, graph, new AssumptionMap<E, A>() {
+        @Override
         public A getAssumption(E edge) {
           Preconditions.checkArgument(graph.getStart(edge) == node
               || graph.getEnd(edge) == node);
           return getEdgeAssumption(graph, edge);
         }
 
+        @Override
         public void setAssumption(E edge, A assumption) {
           N start = graph.getStart(edge);
           N end = graph.getEnd(edge);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/CombinedIntegratedAnalysis.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/CombinedIntegratedAnalysis.java
index f0aab89..98461db 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/CombinedIntegratedAnalysis.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/CombinedIntegratedAnalysis.java
@@ -151,6 +151,7 @@
     /**
      * Joins combined assumption by joining all individual components.
      */
+    @Override
     @SuppressWarnings("unchecked")
     public CombinedAssumption join(CombinedAssumption value) {
       if (value == null) {
@@ -191,6 +192,7 @@
    */
   private final class CombinedIntegratedFlowFunction implements
       IntegratedFlowFunction<N, E, T, G, CombinedAssumption> {
+    @Override
     @SuppressWarnings("unchecked")
     public Transformation interpretOrReplace(final N node, final G graph,
         final AssumptionMap<E, CombinedAssumption> assumptionMap) {
@@ -205,6 +207,7 @@
         Transformation transformation = 
           function.interpretOrReplace(node, graph, 
               new AssumptionMap() {
+                @Override
                 public Assumption getAssumption(Object edge) {
                   CombinedAssumption combinedAssumption = assumptionMap.getAssumption((E) edge);
                   if (combinedAssumption == null) {
@@ -213,6 +216,7 @@
                   return combinedAssumption.get(slice);
                 }
 
+                @Override
                 public void setAssumption(Object edge, Assumption assumption) {
                   CombinedAssumption.CopyOnWrite newAssumption = newAssumptions.get(edge);
                   if (newAssumption == null) {
@@ -272,11 +276,13 @@
     functions.add(analysis.getIntegratedFlowFunction());
   }
 
+  @Override
   public IntegratedFlowFunction<N, E, T, G, CombinedAssumption> 
   getIntegratedFlowFunction() {
     return new CombinedIntegratedFlowFunction();
   }
   
+  @Override
   @SuppressWarnings("unchecked")
   public void setInitialGraphAssumptions(G graph,
       final AssumptionMap<E, CombinedAssumption> assumptionMap) {
@@ -284,10 +290,12 @@
       final int slice = i;
       IntegratedAnalysis<N, E, T, G, ?> analysis = analyses.get(slice);
       analysis.setInitialGraphAssumptions(graph, new AssumptionMap() {
+        @Override
         public Assumption getAssumption(Object edge) {
           throw new UnsupportedOperationException();
         }
 
+        @Override
         public void setAssumption(Object edge,Assumption assumption) {
           CombinedAssumption combinedAssumption = assumptionMap.getAssumption((E) edge);
           if (combinedAssumption == null) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/cfg/Cfg.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/cfg/Cfg.java
index ece0eb0..8902134 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/cfg/Cfg.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/cfg/Cfg.java
@@ -85,6 +85,7 @@
     edge.start = node;
   }
 
+  @Override
   public Object getEdgeData(CfgEdge edge) {
     return edge.data;
   }
@@ -92,6 +93,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public CfgNode<?> getEnd(CfgEdge e) {
     return e.getEnd();
   }
@@ -99,6 +101,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public ArrayList<CfgEdge> getGraphInEdges() {
     return graphInEdges;
   }
@@ -106,6 +109,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public ArrayList<CfgEdge> getGraphOutEdges() {
     return graphOutEdges;
   }
@@ -113,6 +117,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public List<CfgEdge> getInEdges(CfgNode<?> cfgNode) {
     return cfgNode.in;
   }
@@ -120,6 +125,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public ArrayList<CfgNode<?>> getNodes() {
     return nodes;
   }
@@ -127,6 +133,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public List<CfgEdge> getOutEdges(CfgNode<?> cfgNode) {
     return cfgNode.out;
   }
@@ -134,6 +141,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public CfgNode<?> getStart(CfgEdge e) {
     return e.getStart();
   }
@@ -141,6 +149,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public String print() {
     return new CfgPrinter(this).print();
   }
@@ -148,11 +157,13 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public <A extends Assumption<A>> String printWithAssumptions(
       Map<CfgEdge, A> map) {
     return new AssumptionsPrinter<A>(this, map).print();
   }
 
+  @Override
   public void setEdgeData(CfgEdge edge, Object data) {
     edge.data = data;
   }
@@ -165,6 +176,7 @@
   /**
    * {@inheritDoc}
    */
+  @Override
   public boolean transform(CfgNode<?> node, CfgTransformer actualizer) {
     if (actualizer == null) {
       throw new IllegalArgumentException();
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantConditionTransformation.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantConditionTransformation.java
index a0c2b7a..2a504f3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantConditionTransformation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantConditionTransformation.java
@@ -52,8 +52,10 @@
     this.node = node;
   }
 
+  @Override
   public CfgTransformer getGraphTransformer() {
     return new CfgTransformer() {
+      @Override
       public boolean transform(CfgNode<?> cfgNode, Cfg cfgGraph) {
         Preconditions.checkArgument(cfgNode == node);
         if (cfgNode instanceof CfgCaseNode) {
@@ -84,6 +86,7 @@
     };
   }
 
+  @Override
   public Cfg getNewSubgraph() {
     Cfg newSubgraph = new Cfg();
     CfgNode<?> newNode = new CfgNopNode(node.getParent(), node.getJNode());
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAnalysis.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAnalysis.java
index 0cd896e..49c7dff 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAnalysis.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAnalysis.java
@@ -35,14 +35,17 @@
     Analysis<CfgNode<?>, CfgEdge, Cfg, ConstantsAssumption>,
     IntegratedAnalysis<CfgNode<?>, CfgEdge, CfgTransformer, Cfg, ConstantsAssumption> {
 
+  @Override
   public ConstantsFlowFunction getFlowFunction() {
     return new ConstantsFlowFunction();
   }
 
+  @Override
   public ConstantsIntegratedFlowFunction getIntegratedFlowFunction() {
     return new ConstantsIntegratedFlowFunction();
   }
 
+  @Override
   public void setInitialGraphAssumptions(Cfg graph,
       AssumptionMap<CfgEdge, ConstantsAssumption> assumptionMap) {
     AssumptionUtil.setAssumptions(graph.getGraphInEdges(), 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAssumption.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAssumption.java
index b117a6b..3acc46b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAssumption.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsAssumption.java
@@ -234,6 +234,7 @@
     return values.isEmpty();
   }
 
+  @Override
   public ConstantsAssumption join(ConstantsAssumption other) {
     if (other == null) {
       return this;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsFlowFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsFlowFunction.java
index c1a727e..ce8a2d6 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsFlowFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsFlowFunction.java
@@ -42,6 +42,7 @@
  */
 public class ConstantsFlowFunction implements
     FlowFunction<CfgNode<?>, CfgEdge, Cfg, ConstantsAssumption> {
+  @Override
   public void interpret(CfgNode<?> node,
       final Cfg graph, AssumptionMap<CfgEdge, ConstantsAssumption> assumptionMap) {
     ConstantsAssumption in = AssumptionUtil.join(graph.getInEdges(node), assumptionMap);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsIntegratedFlowFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsIntegratedFlowFunction.java
index 5d2cb1f..65b8c20 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsIntegratedFlowFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsIntegratedFlowFunction.java
@@ -38,6 +38,7 @@
     transformationFunction = new ConstantsTransformationFunction();
   }
 
+  @Override
   public Transformation<CfgTransformer, Cfg> interpretOrReplace(
       CfgNode<?> node, Cfg graph,
       AssumptionMap<CfgEdge, ConstantsAssumption> assumptionMap) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsTransformationFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsTransformationFunction.java
index 6ec12b5..7934efc 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsTransformationFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/ConstantsTransformationFunction.java
@@ -82,6 +82,7 @@
     }
   }
 
+  @Override
   public Transformation<CfgTransformer, Cfg> transform(
       final CfgNode<?> node, final Cfg graph,
       final AssumptionMap<CfgEdge, ConstantsAssumption> assumptionMap) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantTransformer.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantTransformer.java
index 801a24d..d578103 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantTransformer.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantTransformer.java
@@ -43,6 +43,7 @@
     cloner = new CloneExpressionVisitor();
   }
 
+  @Override
   public boolean transform(CfgNode<?> node, Cfg cfgGraph) {
     Preconditions.checkArgument(nodeToFold == node);
     JModVisitor visitor = new JModVisitor() {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantsTransformation.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantsTransformation.java
index 091470d..57ac466 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantsTransformation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/constants/FoldConstantsTransformation.java
@@ -40,10 +40,12 @@
     this.graph = graph;
   }
 
+  @Override
   public CfgTransformer getGraphTransformer() {
     return new FoldConstantTransformer(assumption, node);
   }
 
+  @Override
   public Cfg getNewSubgraph() {
     CfgNode<?> newNode = new CfgNopNode(node.getParent(), node.getJNode());
     return CfgUtil.createSingleNodeReplacementGraph(graph, node, newNode);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysis.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysis.java
index 3250d6f..3102d61 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysis.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAnalysis.java
@@ -33,15 +33,18 @@
 public class CopyAnalysis implements
     Analysis<CfgNode<?>, CfgEdge, Cfg, CopyAssumption>,
     IntegratedAnalysis<CfgNode<?>, CfgEdge, CfgTransformer, Cfg, CopyAssumption> {
+  @Override
   public FlowFunction<CfgNode<?>, CfgEdge, Cfg, CopyAssumption> getFlowFunction() {
     return new CopyFlowFunction();
   }
 
+  @Override
   public IntegratedFlowFunction<CfgNode<?>, CfgEdge, CfgTransformer, Cfg, CopyAssumption> 
   getIntegratedFlowFunction() {
     return new CopyIntegratedFlowFunction();
   }
 
+  @Override
   public void setInitialGraphAssumptions(Cfg graph,
       AssumptionMap<CfgEdge, CopyAssumption> assumptionMap) {
     AssumptionUtil.setAssumptions(graph.getGraphInEdges(), 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAssumption.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAssumption.java
index 175d4e8..89727e0 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAssumption.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyAssumption.java
@@ -143,6 +143,7 @@
     return copyToOriginal.hashCode();
   }
 
+  @Override
   public CopyAssumption join(CopyAssumption value) {
     if (value == null) {
       return this;
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyFlowFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyFlowFunction.java
index 3c0be2b..88d278b 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyFlowFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyFlowFunction.java
@@ -35,6 +35,7 @@
  */
 public class CopyFlowFunction implements
     FlowFunction<CfgNode<?>, CfgEdge, Cfg, CopyAssumption> {
+  @Override
   public void interpret(CfgNode<?> node,
       Cfg g, AssumptionMap<CfgEdge, CopyAssumption> assumptionMap) {
     CopyAssumption in = AssumptionUtil.join(g.getInEdges(node), assumptionMap);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyIntegratedFlowFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyIntegratedFlowFunction.java
index 31d28b2..2af70f4 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyIntegratedFlowFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/copy/CopyIntegratedFlowFunction.java
@@ -56,8 +56,10 @@
       this.graph = graph;
     }
 
+    @Override
     public CfgTransformer getGraphTransformer() {
       return new CfgTransformer() {
+        @Override
         public boolean transform(final CfgNode<?> node, Cfg cfgGraph) {
           JModVisitor visitor = new JModVisitor() {
             @Override
@@ -76,6 +78,7 @@
       };
     }
 
+    @Override
     public Cfg getNewSubgraph() {
       CfgReadNode newNode = new CfgReadNode(node.getParent(), 
           createRef(node.getJNode().getSourceInfo(), original));
@@ -100,6 +103,7 @@
 
   private static final CopyFlowFunction FLOW_FUNCTION = new CopyFlowFunction();
 
+  @Override
   public Transformation<CfgTransformer, Cfg> 
   interpretOrReplace(final CfgNode<?> node, final Cfg graph, 
       AssumptionMap<CfgEdge, CopyAssumption> assumptionMap) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAnalysis.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAnalysis.java
index 35aa7b2..c0f23f3 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAnalysis.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAnalysis.java
@@ -37,16 +37,19 @@
   private static final LivenessIntegratedFlowFunction INTEGRATED_FLOW_FUNCTION = 
     new LivenessIntegratedFlowFunction();
   
+  @Override
   public FlowFunction<CfgNode<?>, CfgEdge, Cfg, LivenessAssumption> getFlowFunction() {
     return FLOW_FUNCTION;
   }
 
+  @Override
   public IntegratedFlowFunction<CfgNode<?>, CfgEdge, CfgTransformer, Cfg, 
                                 LivenessAssumption> 
   getIntegratedFlowFunction() {
     return INTEGRATED_FLOW_FUNCTION;
   }
 
+  @Override
   public void setInitialGraphAssumptions(Cfg graph,
       AssumptionMap<CfgEdge, LivenessAssumption> assumptionMap) {
     // bottom assumptions.
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAssumption.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAssumption.java
index 17ea867..58e4ed1 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAssumption.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessAssumption.java
@@ -111,6 +111,7 @@
   /**
    * Computes union of all live variables.
    */
+  @Override
   public LivenessAssumption join(LivenessAssumption value) {
     if (value == null || value.liveVariables.isEmpty()) {
       return this;
@@ -129,6 +130,7 @@
     result.append("{");
     List<JVariable> vars = new ArrayList<JVariable>(liveVariables);
     Collections.sort(vars, new Comparator<JVariable>() {
+      @Override
       public int compare(JVariable o1, JVariable o2) {
         return o1.getName().compareTo(o2.getName());
       }
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessFlowFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessFlowFunction.java
index 0a68187..b552e94 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessFlowFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessFlowFunction.java
@@ -35,6 +35,7 @@
  */
 public class LivenessFlowFunction implements FlowFunction<CfgNode<?>, CfgEdge,
     Cfg, LivenessAssumption> {
+  @Override
   public void interpret(CfgNode<?> node, Cfg g,
       AssumptionMap<CfgEdge, LivenessAssumption> assumptionMap) {
     final Updater result = new Updater(
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessIntegratedFlowFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessIntegratedFlowFunction.java
index 2e8f322..1e12780 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessIntegratedFlowFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessIntegratedFlowFunction.java
@@ -36,6 +36,7 @@
     LivenessAssumption> {
   private final LivenessFlowFunction flowFunction = new LivenessFlowFunction();
   
+  @Override
   public Transformation<CfgTransformer, Cfg> 
   interpretOrReplace(CfgNode<?> node, Cfg graph,
       AssumptionMap<CfgEdge, LivenessAssumption> assumptionMap) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessTransformation.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessTransformation.java
index 6be999f..d707607 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessTransformation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/liveness/LivenessTransformation.java
@@ -44,8 +44,10 @@
     this.writeToKill = writeToKill;
   }
 
+  @Override
   public CfgTransformer getGraphTransformer() {
     return new CfgTransformer() {
+      @Override
       public boolean transform(CfgNode<?> node, Cfg cfgGraph) {
         JModVisitor visitor = new JModVisitor() {
           @Override
@@ -103,6 +105,7 @@
     };
   }
 
+  @Override
   public Cfg getNewSubgraph() {
     CfgNode<?> newNode = new CfgNopNode(writeToKill.getParent(), 
         writeToKill.getJNode());
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/DeleteNodeTransformation.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/DeleteNodeTransformation.java
index da69c1a..b6896aa 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/DeleteNodeTransformation.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/DeleteNodeTransformation.java
@@ -35,8 +35,10 @@
     this.node = node;
   }
 
+  @Override
   public CfgTransformer getGraphTransformer() {
     return new CfgTransformer() {
+      @Override
       public boolean transform(CfgNode<?> node, Cfg cfgGraph) {
         if (node.getParent() == null) {
           throw new IllegalArgumentException("Null parent in " + node);
@@ -61,6 +63,7 @@
     };
   }
 
+  @Override
   public Cfg getNewSubgraph() {
     CfgNode<?> newNode = new CfgNopNode(node.getParent(), node.getJNode());
     return CfgUtil.createSingleNodeReplacementGraph(graph, node, newNode);
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachabeIntegratedTransformationFunction.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachabeIntegratedTransformationFunction.java
index 97a1be9..0ba4a00 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachabeIntegratedTransformationFunction.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachabeIntegratedTransformationFunction.java
@@ -31,6 +31,7 @@
 public class UnreachabeIntegratedTransformationFunction implements
     IntegratedFlowFunction<CfgNode<?>, CfgEdge, CfgTransformer, Cfg, 
                            UnreachableAssumptions> {
+  @Override
   public Transformation<CfgTransformer, Cfg> 
   interpretOrReplace(CfgNode<?> node, Cfg graph,
       AssumptionMap<CfgEdge, UnreachableAssumptions> assumptionMap) {
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAnalysis.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAnalysis.java
index 91373a4..3c0c170 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAnalysis.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAnalysis.java
@@ -32,12 +32,14 @@
   private static final UnreachabeIntegratedTransformationFunction 
   INTEGRATED_FLOW_FUNCTION = new UnreachabeIntegratedTransformationFunction();
 
+  @Override
   public IntegratedFlowFunction<CfgNode<?>, CfgEdge, CfgTransformer, Cfg, 
                                 UnreachableAssumptions> 
   getIntegratedFlowFunction() {
     return INTEGRATED_FLOW_FUNCTION;
   }
 
+  @Override
   public void setInitialGraphAssumptions(Cfg graph,
       AssumptionMap<CfgEdge, UnreachableAssumptions> assumptionMap) {
     AssumptionUtil.setAssumptions(graph.getGraphInEdges(), 
diff --git a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAssumptions.java b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAssumptions.java
index aff1dff..ba0838c 100644
--- a/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAssumptions.java
+++ b/dev/core/src/com/google/gwt/dev/jjs/impl/gflow/unreachable/UnreachableAssumptions.java
@@ -28,6 +28,7 @@
     return in == REACHABLE;
   }
 
+  @Override
   public UnreachableAssumptions join(UnreachableAssumptions value) {
     if (this == REACHABLE || value == REACHABLE) {
       return REACHABLE;
diff --git a/dev/core/src/com/google/gwt/dev/js/JsObfuscateNamer.java b/dev/core/src/com/google/gwt/dev/js/JsObfuscateNamer.java
index ddc0b0d..30a51db 100644
--- a/dev/core/src/com/google/gwt/dev/js/JsObfuscateNamer.java
+++ b/dev/core/src/com/google/gwt/dev/js/JsObfuscateNamer.java
@@ -50,6 +50,7 @@
    * Returns a valid unused obfuscated top scope name by keeping track of the last (highest)
    * name produced.
    */
+  @Override
   public String getFreshName() {
     String newIdent;
     while (true) {
diff --git a/dev/core/src/com/google/gwt/dev/js/JsParser.java b/dev/core/src/com/google/gwt/dev/js/JsParser.java
index a4e35dd..46586e0 100644
--- a/dev/core/src/com/google/gwt/dev/js/JsParser.java
+++ b/dev/core/src/com/google/gwt/dev/js/JsParser.java
@@ -106,11 +106,13 @@
       Reader r) throws JsParserException, IOException {
     // Create a custom error handler so that we can throw our own exceptions.
     Context.enter().setErrorReporter(new ErrorReporter() {
+      @Override
       public void error(String msg, String loc, int ln, String src, int col) {
         throw new UncheckedJsParserException(new JsParserException(msg, ln,
             src, col, rootSourceInfo.getFileName()));
       }
 
+      @Override
       public EvaluatorException runtimeError(String msg, String loc, int ln,
           String src, int col) {
         // Never called, but just in case.
@@ -118,6 +120,7 @@
             src, col, rootSourceInfo.getFileName()));
       }
 
+      @Override
       public void warning(String msg, String loc, int ln, String src, int col) {
         // Ignore warnings.
       }
diff --git a/dev/core/src/com/google/gwt/dev/js/rhino/Node.java b/dev/core/src/com/google/gwt/dev/js/rhino/Node.java
index 5ffee37..1c27964 100644
--- a/dev/core/src/com/google/gwt/dev/js/rhino/Node.java
+++ b/dev/core/src/com/google/gwt/dev/js/rhino/Node.java
@@ -54,10 +54,12 @@
             this.number = number;
         }
 
+        @Override
         public double getDouble() {
           return this.number;
         }
 
+        @Override
         public boolean equals(Object o) {
             return o instanceof NumberNode
                 && getDouble() == ((NumberNode) o).getDouble();
@@ -79,6 +81,7 @@
         /** returns the string content.
           * @return non null.
           */
+        @Override
         public String getString() {
             return this.str;
         }
@@ -86,6 +89,7 @@
         /** sets the string content.
           * @param str the new value.  Non null.
           */
+        @Override
         public void setString(String str) {
             if (null == str) {
                 throw new IllegalArgumentException("StringNode: str is null");
@@ -93,6 +97,7 @@
             this.str = str;
         }
 
+        @Override
         public boolean equals(Object o) {
             if (!(o instanceof StringNode)) { return false; }
             return o instanceof StringNode
@@ -537,11 +542,13 @@
     /**
      * Not usefully implemented.
      */
+    @Override
     public final int hashCode() {
         assert false : "hashCode not designed";
         return 42; // any arbitrary constant will do
     }
 
+    @Override
     public boolean equals(Object o) {
         if (!(o instanceof Node)) { return false; }
         return hasLineno()
@@ -579,6 +586,7 @@
 
 
 
+    @Override
     public String toString() {
         if (Context.printTrees) {
             StringBuffer sb = new StringBuffer(TokenStream.tokenToName(type));
diff --git a/dev/core/src/com/google/gwt/dev/json/JsonArray.java b/dev/core/src/com/google/gwt/dev/json/JsonArray.java
index 7887bfd..6bfb751 100644
--- a/dev/core/src/com/google/gwt/dev/json/JsonArray.java
+++ b/dev/core/src/com/google/gwt/dev/json/JsonArray.java
@@ -88,26 +88,32 @@
     add(JsonString.create(value));
   }
 
+  @Override
   public JsonArray asArray() {
     return this;
   }
 
+  @Override
   public JsonBoolean asBoolean() {
     return null;
   }
 
+  @Override
   public JsonNumber asNumber() {
     return null;
   }
 
+  @Override
   public JsonObject asObject() {
     return null;
   }
 
+  @Override
   public JsonString asString() {
     return null;
   }
 
+  @Override
   public JsonArray copyDeeply() {
     final JsonArray copy = new JsonArray();
     for (JsonValue value : values) {
@@ -125,26 +131,32 @@
     return values.size();
   }
 
+  @Override
   public boolean isArray() {
     return true;
   }
 
+  @Override
   public boolean isBoolean() {
     return false;
   }
 
+  @Override
   public boolean isNumber() {
     return false;
   }
 
+  @Override
   public boolean isObject() {
     return false;
   }
 
+  @Override
   public boolean isString() {
     return false;
   }
 
+  @Override
   public void write(Writer writer) throws IOException {
     writer.write('[');
     for (int i = 0, n = values.size(); i < n; ++i) {
diff --git a/dev/core/src/com/google/gwt/dev/json/JsonBoolean.java b/dev/core/src/com/google/gwt/dev/json/JsonBoolean.java
index 75be29b..3f4172c 100644
--- a/dev/core/src/com/google/gwt/dev/json/JsonBoolean.java
+++ b/dev/core/src/com/google/gwt/dev/json/JsonBoolean.java
@@ -36,26 +36,32 @@
     this.value = value;
   }
 
+  @Override
   public JsonArray asArray() {
     return null;
   }
 
+  @Override
   public JsonBoolean asBoolean() {
     return this;
   }
 
+  @Override
   public JsonNumber asNumber() {
     return null;
   }
 
+  @Override
   public JsonObject asObject() {
     return null;
   }
 
+  @Override
   public JsonString asString() {
     return null;
   }
 
+  @Override
   public JsonBoolean copyDeeply() {
     return this;
   }
@@ -64,26 +70,32 @@
     return value;
   }
 
+  @Override
   public boolean isArray() {
     return false;
   }
 
+  @Override
   public boolean isBoolean() {
     return true;
   }
 
+  @Override
   public boolean isNumber() {
     return false;
   }
 
+  @Override
   public boolean isObject() {
     return false;
   }
 
+  @Override
   public boolean isString() {
     return false;
   }
 
+  @Override
   public void write(Writer writer) throws IOException {
     writer.write(Boolean.toString(value));
   }
diff --git a/dev/core/src/com/google/gwt/dev/json/JsonNumber.java b/dev/core/src/com/google/gwt/dev/json/JsonNumber.java
index 674569b..ce3eb92 100644
--- a/dev/core/src/com/google/gwt/dev/json/JsonNumber.java
+++ b/dev/core/src/com/google/gwt/dev/json/JsonNumber.java
@@ -29,6 +29,7 @@
       this.value = value;
     }
 
+    @Override
     public JsonDecimal copyDeeply() {
       return new JsonDecimal(value);
     }
@@ -43,6 +44,7 @@
       return (long) value;
     }
 
+    @Override
     public void write(Writer writer) throws IOException {
       writer.write(Double.toString(value));
     }
@@ -55,6 +57,7 @@
       this.value = value;
     }
 
+    @Override
     public JsonInteger copyDeeply() {
       return new JsonInteger(value);
     }
@@ -69,6 +72,7 @@
       return value;
     }
 
+    @Override
     public void write(Writer writer) throws IOException {
       writer.write(Long.toString(value));
     }
@@ -89,22 +93,27 @@
   private JsonNumber() {
   }
 
+  @Override
   public JsonArray asArray() {
     return null;
   }
 
+  @Override
   public JsonBoolean asBoolean() {
     return null;
   }
 
+  @Override
   public JsonNumber asNumber() {
     return this;
   }
 
+  @Override
   public JsonObject asObject() {
     return null;
   }
 
+  @Override
   public JsonString asString() {
     return null;
   }
@@ -113,22 +122,27 @@
 
   public abstract long getInteger();
 
+  @Override
   public boolean isArray() {
     return false;
   }
 
+  @Override
   public boolean isBoolean() {
     return false;
   }
 
+  @Override
   public boolean isNumber() {
     return true;
   }
 
+  @Override
   public boolean isObject() {
     return false;
   }
 
+  @Override
   public boolean isString() {
     return false;
   }
diff --git a/dev/core/src/com/google/gwt/dev/json/JsonObject.java b/dev/core/src/com/google/gwt/dev/json/JsonObject.java
index 34a01ce..0e5b42a 100644
--- a/dev/core/src/com/google/gwt/dev/json/JsonObject.java
+++ b/dev/core/src/com/google/gwt/dev/json/JsonObject.java
@@ -33,15 +33,18 @@
       this.iter = iter;
     }
 
+    @Override
     public boolean hasNext() {
       return iter.hasNext();
     }
 
+    @Override
     public Pair<String, JsonValue> next() {
       final Map.Entry<String, JsonValue> entry = iter.next();
       return new Pair<String, JsonValue>(entry.getKey(), entry.getValue());
     }
 
+    @Override
     public void remove() {
       iter.remove();
     }
@@ -115,26 +118,32 @@
   public JsonObject() {
   }
 
+  @Override
   public JsonArray asArray() {
     return null;
   }
 
+  @Override
   public JsonBoolean asBoolean() {
     return null;
   }
 
+  @Override
   public JsonNumber asNumber() {
     return null;
   }
 
+  @Override
   public JsonObject asObject() {
     return this;
   }
 
+  @Override
   public JsonString asString() {
     return null;
   }
 
+  @Override
   public JsonObject copyDeeply() {
     final JsonObject copy = new JsonObject();
     for (Map.Entry<String, JsonValue> entry : properties.entrySet()) {
@@ -150,10 +159,12 @@
     return (value == null) ? JsonValue.NULL : value;
   }
 
+  @Override
   public boolean isArray() {
     return false;
   }
 
+  @Override
   public boolean isBoolean() {
     return false;
   }
@@ -162,18 +173,22 @@
     return properties.isEmpty();
   }
 
+  @Override
   public boolean isNumber() {
     return false;
   }
 
+  @Override
   public boolean isObject() {
     return true;
   }
 
+  @Override
   public boolean isString() {
     return false;
   }
 
+  @Override
   public Iterator<Pair<String, JsonValue>> iterator() {
     return new Iter(properties.entrySet().iterator());
   }
@@ -198,6 +213,7 @@
     put(key, JsonString.create(val));
   }
 
+  @Override
   public void write(Writer writer) throws IOException {
     boolean first = true;
     writer.write('{');
diff --git a/dev/core/src/com/google/gwt/dev/json/JsonString.java b/dev/core/src/com/google/gwt/dev/json/JsonString.java
index 468097b..5c46981 100644
--- a/dev/core/src/com/google/gwt/dev/json/JsonString.java
+++ b/dev/core/src/com/google/gwt/dev/json/JsonString.java
@@ -71,26 +71,32 @@
     this.value = value;
   }
 
+  @Override
   public JsonArray asArray() {
     return null;
   }
 
+  @Override
   public JsonBoolean asBoolean() {
     return null;
   }
 
+  @Override
   public JsonNumber asNumber() {
     return null;
   }
 
+  @Override
   public JsonObject asObject() {
     return null;
   }
 
+  @Override
   public JsonString asString() {
     return this;
   }
 
+  @Override
   public JsonString copyDeeply() {
     return new JsonString(value);
   }
@@ -99,26 +105,32 @@
     return value;
   }
 
+  @Override
   public boolean isArray() {
     return false;
   }
 
+  @Override
   public boolean isBoolean() {
     return false;
   }
 
+  @Override
   public boolean isNumber() {
     return false;
   }
 
+  @Override
   public boolean isObject() {
     return false;
   }
 
+  @Override
   public boolean isString() {
     return true;
   }
 
+  @Override
   public void write(Writer writer) throws IOException {
     write(value, writer);
   }
diff --git a/dev/core/src/com/google/gwt/dev/json/JsonValue.java b/dev/core/src/com/google/gwt/dev/json/JsonValue.java
index a6f827b..d176173 100644
--- a/dev/core/src/com/google/gwt/dev/json/JsonValue.java
+++ b/dev/core/src/com/google/gwt/dev/json/JsonValue.java
@@ -27,50 +27,62 @@
    */
   JsonValue NULL = new JsonValue() {
 
+    @Override
     public JsonArray asArray() {
       return null;
     }
 
+    @Override
     public JsonBoolean asBoolean() {
       return null;
     }
 
+    @Override
     public JsonNumber asNumber() {
       return null;
     }
 
+    @Override
     public JsonObject asObject() {
       return null;
     }
 
+    @Override
     public JsonString asString() {
       return null;
     }
 
+    @Override
     public JsonValue copyDeeply() {
       return this;
     }
 
+    @Override
     public boolean isArray() {
       return false;
     }
 
+    @Override
     public boolean isBoolean() {
       return false;
     }
 
+    @Override
     public boolean isNumber() {
       return false;
     }
 
+    @Override
     public boolean isObject() {
       return false;
     }
 
+    @Override
     public boolean isString() {
       return false;
     }
 
+    @Override
     public void write(Writer writer) throws IOException {
       writer.append("null");
     }
diff --git a/dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java b/dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java
index c05a815..6b8e819 100644
--- a/dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java
+++ b/dev/core/src/com/google/gwt/dev/resource/impl/DefaultFilters.java
@@ -50,6 +50,7 @@
 
     /* used when defaultExcludes is false */
     private final ResourceFilter justThisFileTypeFilter = new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return defaultAntIncludes.allows(path) && matches(path);
       }
@@ -57,6 +58,7 @@
 
     private final ResourceFilter defaultFilter = new ResourceFilter() {
 
+      @Override
       public boolean allows(String path) {
         return getFileTypeFilter().allows(path)
         && !isDefaultExcluded(path);
@@ -93,6 +95,7 @@
 
   // accepts all but paths starting with '/'. Default include list is '**'
   private static final ResourceFilter defaultAntIncludes = new ResourceFilter() {
+    @Override
     public boolean allows(String path) {
       return path.charAt(0) != '/';
     }
@@ -279,6 +282,7 @@
   }
 
   private final ResourceFilter rejectAll = new ResourceFilter() {
+    @Override
     public boolean allows(String path) {
       return false;
     }
@@ -327,6 +331,7 @@
     }
     // another common-case
     ResourceFilter filter = new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         // do not handle the case when pattern ends in '/'
         if (path.endsWith("/")) {
@@ -366,6 +371,7 @@
       ZipScanner scanner = getScanner(includeList, excludeList, skipList,
           defaultExcludes, caseSensitive);
 
+      @Override
       public boolean allows(String path) {
         return filterFileType.matches(path) && scanner.match(path);
       }
@@ -412,6 +418,7 @@
 
     final Pattern pattern = getPatternFromStrings(patternStrings);
     return new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return pattern.matcher(path).matches();
       }
diff --git a/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java b/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
index f9b2063..2f7a16f 100644
--- a/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
+++ b/dev/core/src/com/google/gwt/dev/shell/BrowserChannel.java
@@ -57,6 +57,7 @@
       this.refId = refId;
     }
 
+    @Override
     public int getRefid() {
       return Math.abs(refId);
     }
@@ -92,6 +93,7 @@
       return (o instanceof JsObjectRef) && ((JsObjectRef) o).refId == refId;
     }
 
+    @Override
     public int getRefid() {
       // exceptions are negative, so we get the absolute value
       return Math.abs(refId);
diff --git a/dev/core/src/com/google/gwt/dev/shell/BrowserChannelClient.java b/dev/core/src/com/google/gwt/dev/shell/BrowserChannelClient.java
index 0370503..80d6b88 100644
--- a/dev/core/src/com/google/gwt/dev/shell/BrowserChannelClient.java
+++ b/dev/core/src/com/google/gwt/dev/shell/BrowserChannelClient.java
@@ -53,6 +53,7 @@
       remoteObjectTable = new RemoteObjectTable<JavaObjectRef>();
     }
 
+    @Override
     public JavaObjectRef getJavaObjectRef(int refId) {
       JavaObjectRef objectRef = remoteObjectTable.getRemoteObjectRef(refId);
       if (objectRef == null) {
@@ -62,10 +63,12 @@
       return objectRef;
     }
 
+    @Override
     public JsObjectRef getJsObjectRef(int refId) {
       return new JsObjectRef(refId);
     }
 
+    @Override
     public Set<Integer> getRefIdsForCleanup() {
       return remoteObjectTable.getRefIdsForCleanup();
     }
diff --git a/dev/core/src/com/google/gwt/dev/shell/BrowserChannelServer.java b/dev/core/src/com/google/gwt/dev/shell/BrowserChannelServer.java
index 70ba505..3152319 100644
--- a/dev/core/src/com/google/gwt/dev/shell/BrowserChannelServer.java
+++ b/dev/core/src/com/google/gwt/dev/shell/BrowserChannelServer.java
@@ -82,10 +82,12 @@
       remoteObjectTable = new RemoteObjectTable<JsObjectRef>();
     }
 
+    @Override
     public JavaObjectRef getJavaObjectRef(int refId) {
       return new JavaObjectRef(refId);
     }
 
+    @Override
     public JsObjectRef getJsObjectRef(int refId) {
       JsObjectRef objectRef = remoteObjectTable.getRemoteObjectRef(refId);
       if (objectRef == null) {
@@ -95,6 +97,7 @@
       return objectRef;
     }
 
+    @Override
     public Set<Integer> getRefIdsForCleanup() {
       return remoteObjectTable.getRefIdsForCleanup();
     }
@@ -359,6 +362,7 @@
     } while (true);
   }
 
+  @Override
   public void run() {
     try {
       processConnection();
diff --git a/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java b/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java
index dd33501..e89ba70 100644
--- a/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java
+++ b/dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java
@@ -118,6 +118,7 @@
     final String entryPoint = computeEntryPoint();
     FutureTask<UpdateResult> task = new FutureTask<UpdateResult>(
         new Callable<UpdateResult>() {
+          @Override
           public UpdateResult call() throws Exception {
             final CheckForUpdates updateChecker = createUpdateChecker(logger,
                 entryPoint);
@@ -469,14 +470,17 @@
     //
     builder.setErrorHandler(new ErrorHandler() {
 
+      @Override
       public void error(SAXParseException exception) throws SAXException {
         // fail quietly
       }
 
+      @Override
       public void fatalError(SAXParseException exception) throws SAXException {
         // fail quietly
       }
 
+      @Override
       public void warning(SAXParseException exception) throws SAXException {
         // fail quietly
       }
@@ -606,10 +610,12 @@
     }
     final URL finalUrl = url;
     return new UpdateResult() {
+      @Override
       public GwtVersion getNewVersion() {
         return serverVersion;
       }
 
+      @Override
       public URL getURL() {
         return finalUrl;
       }
diff --git a/dev/core/src/com/google/gwt/dev/shell/CloseButton.java b/dev/core/src/com/google/gwt/dev/shell/CloseButton.java
index dd927d0..01d4900 100644
--- a/dev/core/src/com/google/gwt/dev/shell/CloseButton.java
+++ b/dev/core/src/com/google/gwt/dev/shell/CloseButton.java
@@ -62,6 +62,7 @@
     }
     add(button);
     button.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         if (callback != null) {
           callback.onCloseRequest();
diff --git a/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java b/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
index d8d38d7..4146372 100644
--- a/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
+++ b/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java
@@ -445,6 +445,7 @@
       }
     }
 
+    @Override
     public String findOriginalDeclaringClass(String desc, String signature) {
       // Lookup the method.
       Set<JClassType> declaringClasses = signatureToDeclaringClasses.get(signature);
@@ -651,12 +652,14 @@
       }
     }
 
+    @Override
     public List<com.google.gwt.dev.asm.commons.Method> getDeclarations(
         String mangledName) {
       List<com.google.gwt.dev.asm.commons.Method> toReturn = mangledNamesToDeclarations.get(mangledName);
       return toReturn == null ? null : Collections.unmodifiableList(toReturn);
     }
 
+    @Override
     public List<com.google.gwt.dev.asm.commons.Method> getImplementations(
         String mangledName) {
       List<com.google.gwt.dev.asm.commons.Method> toReturn = mangledNamesToImplementations.get(mangledName);
@@ -664,10 +667,12 @@
           : Collections.unmodifiableList(toReturn);
     }
 
+    @Override
     public SortedSet<String> getMangledNames() {
       return unmodifiableNames;
     }
 
+    @Override
     public Set<String> getSingleJsoIntfTypes() {
       return unmodifiableIntfNames;
     }
@@ -1008,6 +1013,7 @@
    * @return {@link DispatchClassInfo} for a given dispatch id or null if one
    *         does not exist
    */
+  @Override
   public DispatchClassInfo getClassInfoByDispId(int dispId) {
     return dispClassInfoOracle.getClassInfoByDispId(dispId);
   }
@@ -1018,6 +1024,7 @@
    * @param jsniMemberRef a JSNI member reference
    * @return dispatch id or -1 if the JSNI member reference could not be found
    */
+  @Override
   public int getDispId(String jsniMemberRef) {
     return dispClassInfoOracle.getDispId(jsniMemberRef);
   }
diff --git a/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java b/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java
index 4cbe870..f6eb944 100644
--- a/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java
+++ b/dev/core/src/com/google/gwt/dev/shell/HostedModePluginObject.java
@@ -42,6 +42,7 @@
     private static final long serialVersionUID = -8799481412144205779L;
     private static final int EXPECTED_NUM_ARGS = 5;
 
+    @Override
     public Object call(Context context, Scriptable scope, Scriptable thisObj,
         Object[] args) {
       // Allow extra arguments for forward compatibility
@@ -65,6 +66,7 @@
       }
     }
 
+    @Override
     public Scriptable construct(Context context, Scriptable scope, Object[] args) {
       throw Context.reportRuntimeError("Function connect can't be used as a "
           + "constructor");
@@ -84,12 +86,14 @@
 
     private static final long serialVersionUID = -8799481412144519779L;
 
+    @Override
     public Object call(Context context, Scriptable scope, Scriptable thisObj,
         Object[] args) {
       // Allow extra arguments for forward compatibility
       return disconnect();
     }
 
+    @Override
     public Scriptable construct(Context context, Scriptable scope, Object[] args) {
       throw Context.reportRuntimeError("Function disconnect can't be used as a "
           + "constructor");
@@ -109,6 +113,7 @@
     private static final long serialVersionUID = -8799481412144205779L;
     private static final String VERSION = "2.0";
 
+    @Override
     public Object call(Context context, Scriptable scope, Scriptable thisObj,
         Object[] args) {
       // Allow extra arguments for forward compatibility
@@ -125,6 +130,7 @@
       }
     }
 
+    @Override
     public Scriptable construct(Context context, Scriptable scope, Object[] args) {
       throw Context.reportRuntimeError("Function init can't be used as a "
           + "constructor");
diff --git a/dev/core/src/com/google/gwt/dev/shell/HostedModeServletConfigProxy.java b/dev/core/src/com/google/gwt/dev/shell/HostedModeServletConfigProxy.java
index f5b0378..63edcbb 100644
--- a/dev/core/src/com/google/gwt/dev/shell/HostedModeServletConfigProxy.java
+++ b/dev/core/src/com/google/gwt/dev/shell/HostedModeServletConfigProxy.java
@@ -39,6 +39,7 @@
    * @return
    * @see javax.servlet.ServletConfig#getInitParameter(java.lang.String)
    */
+  @Override
   public String getInitParameter(String arg0) {
     return config.getInitParameter(arg0);
   }
@@ -47,6 +48,7 @@
    * @return
    * @see javax.servlet.ServletConfig#getInitParameterNames()
    */
+  @Override
   @SuppressWarnings("unchecked")
   public Enumeration<String> getInitParameterNames() {
     return config.getInitParameterNames();
@@ -56,6 +58,7 @@
    * @return
    * @see javax.servlet.ServletConfig#getServletContext()
    */
+  @Override
   public ServletContext getServletContext() {
     return context;
   }
@@ -64,6 +67,7 @@
    * @return
    * @see javax.servlet.ServletConfig#getServletName()
    */
+  @Override
   public String getServletName() {
     return config.getServletName();
   }
diff --git a/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java b/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
index f391985..1e5ecee 100644
--- a/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
+++ b/dev/core/src/com/google/gwt/dev/shell/HtmlUnitSessionHandler.java
@@ -54,6 +54,7 @@
     private static final int EXPECTED_NUM_ARGS = 0;
     private static final long serialVersionUID = 1592865718416163348L;
 
+    @Override
     public Object call(Context context, Scriptable scope, Scriptable thisObj,
         Object[] args) {
       // Allow extra arguments for forward compatibility
@@ -73,6 +74,7 @@
           returnValue.getReturnValue());
     }
 
+    @Override
     public Scriptable construct(Context cx, Scriptable scope, Object[] args) {
       throw Context.reportRuntimeError("Function connect can't be used as a "
           + "constructor");
diff --git a/dev/core/src/com/google/gwt/dev/shell/JavaDispatchImpl.java b/dev/core/src/com/google/gwt/dev/shell/JavaDispatchImpl.java
index 9338a85..161028f 100644
--- a/dev/core/src/com/google/gwt/dev/shell/JavaDispatchImpl.java
+++ b/dev/core/src/com/google/gwt/dev/shell/JavaDispatchImpl.java
@@ -60,6 +60,7 @@
    * @param dispId the unique number of a field
    * @return the field
    */
+  @Override
   public Field getField(int dispId) {
     if (dispId < 0) {
       throw new RuntimeException("Field does not exist.");
@@ -84,6 +85,7 @@
    * @return true the value of the field
    * @throws IllegalArgumentException
    */
+  @Override
   public Object getFieldValue(int dispId) {
     if (dispId < 0) {
       throw new RuntimeException("Field does not exist.");
@@ -109,6 +111,7 @@
    * @param dispId the unique number of a method
    * @return the method
    */
+  @Override
   public MethodAdaptor getMethod(int dispId) {
     if (dispId < 0) {
       throw new RuntimeException("Method does not exist.");
@@ -124,6 +127,7 @@
     }
   }
 
+  @Override
   public Object getTarget() {
     return target;
   }
@@ -132,6 +136,7 @@
    * @param dispId the unique number of a method or field
    * @return true if the dispId represents a field
    */
+  @Override
   public boolean isField(int dispId) {
     if (dispId < 0) {
       return false;
@@ -145,6 +150,7 @@
    * @param dispId the unique number of a method or field
    * @return true if the dispId represents a method
    */
+  @Override
   public boolean isMethod(int dispId) {
     if (dispId < 0) {
       return false;
@@ -159,6 +165,7 @@
    * @param value the value to assign to the field
    * @throws IllegalArgumentException
    */
+  @Override
   public void setFieldValue(int dispId, Object value) {
     Field field = (Field) getMember(dispId);
     try {
diff --git a/dev/core/src/com/google/gwt/dev/shell/JavaObject.java b/dev/core/src/com/google/gwt/dev/shell/JavaObject.java
index 323e710..553d5cd 100644
--- a/dev/core/src/com/google/gwt/dev/shell/JavaObject.java
+++ b/dev/core/src/com/google/gwt/dev/shell/JavaObject.java
@@ -92,6 +92,7 @@
    * If this function fails for any reason, we return Undefined instead of
    * throwing an Exception in all cases except when Java throws an Exception.
    */
+  @Override
   public Object call(Context cx, Scriptable scope, Scriptable thisObj,
       Object[] args) {
 
@@ -132,6 +133,7 @@
     return ret;
   }
 
+  @Override
   public Scriptable construct(Context cx, Scriptable scope, Object[] args) {
     throw Context.reportRuntimeError("JavaObject can't be used as a "
         + "constructor");
diff --git a/dev/core/src/com/google/gwt/dev/shell/JsValueOOPHM.java b/dev/core/src/com/google/gwt/dev/shell/JsValueOOPHM.java
index 4ab0c77..6dd3ba5 100644
--- a/dev/core/src/com/google/gwt/dev/shell/JsValueOOPHM.java
+++ b/dev/core/src/com/google/gwt/dev/shell/JsValueOOPHM.java
@@ -45,6 +45,7 @@
       classLoader = ccl;
     }
 
+    @Override
     public JsValue getField(int dispId) {
       JsValueOOPHM jsValue = new JsValueOOPHM();
       if (javaDispatch.isField(dispId)) {
@@ -64,6 +65,7 @@
       return jsValue;
     }
 
+    @Override
     public JsValue getField(String name) {
       int dispId = getFieldId(name);
       if (dispId < 0) {
@@ -73,14 +75,17 @@
       return getField(dispId);
     }
 
+    @Override
     public int getFieldId(String name) {
       return classLoader.getDispId(name);
     }
 
+    @Override
     public Object getTarget() {
       return javaDispatch.getTarget();
     }
 
+    @Override
     public void setField(int dispId, JsValue jsValue) {
       if (javaDispatch.isMethod(dispId)) {
         throw new RuntimeException("Cannot reassign method "
@@ -92,6 +97,7 @@
       javaDispatch.setFieldValue(dispId, val);
     }
 
+    @Override
     public void setField(String name, JsValue jsValue) {
       int dispId = getFieldId(name);
       if (dispId < 0) {
diff --git a/dev/core/src/com/google/gwt/dev/shell/MethodDispatch.java b/dev/core/src/com/google/gwt/dev/shell/MethodDispatch.java
index fb5b3a8..9429f38 100644
--- a/dev/core/src/com/google/gwt/dev/shell/MethodDispatch.java
+++ b/dev/core/src/com/google/gwt/dev/shell/MethodDispatch.java
@@ -44,6 +44,7 @@
    * @return <code>true</code> if an exception was thrown
    * @throws RuntimeException if improper arguments are supplied
    */
+  @Override
   public boolean invoke(JsValue jsthis, JsValue[] jsargs, JsValue returnValue) {
     Class<?>[] paramTypes = method.getParameterTypes();
     int argc = paramTypes.length;
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
index b20b53a..7803988 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
@@ -161,6 +161,7 @@
     getIsolatedClassLoader().clear();
   }
 
+  @Override
   public void exceptionCaught(Object exception) {
     Throwable caught;
     Throwable thrown = sThrownJavaExceptionObject.get();
@@ -194,6 +195,7 @@
     return moduleName;
   }
 
+  @Override
   public boolean invokeNativeBoolean(String name, Object jthis,
       Class<?>[] types, Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -207,6 +209,7 @@
     return value.booleanValue();
   }
 
+  @Override
   public byte invokeNativeByte(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -219,6 +222,7 @@
     return value.byteValue();
   }
 
+  @Override
   public char invokeNativeChar(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -231,6 +235,7 @@
     return value.charValue();
   }
 
+  @Override
   public double invokeNativeDouble(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -243,6 +248,7 @@
     return value.doubleValue();
   }
 
+  @Override
   public float invokeNativeFloat(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -255,6 +261,7 @@
     return value.floatValue();
   }
 
+  @Override
   public int invokeNativeInt(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -267,6 +274,7 @@
     return value.intValue();
   }
 
+  @Override
   public long invokeNativeLong(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -279,6 +287,7 @@
     return value.longValue();
   }
 
+  @Override
   public Object invokeNativeObject(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -287,6 +296,7 @@
         msgPrefix);
   }
 
+  @Override
   public short invokeNativeShort(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -299,6 +309,7 @@
     return value.shortValue();
   }
 
+  @Override
   public void invokeNativeVoid(String name, Object jthis, Class<?>[] types,
       Object[] args) throws Throwable {
     JsValue result = invokeNative(name, jthis, types, args);
@@ -317,6 +328,7 @@
   /**
    * Allows client-side code to log to the tree logger.
    */
+  @Override
   public void log(String message, Throwable e) {
     TreeLogger.Type type = TreeLogger.INFO;
     if (e != null) {
@@ -452,6 +464,7 @@
     }
   }
 
+  @Override
   @SuppressWarnings("unchecked")
   public <T> T rebindAndCreate(String requestedClassName)
       throws UnableToCompleteException {
diff --git a/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java b/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java
index 6b2f323..ca5d7ec 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ModuleSpaceOOPHM.java
@@ -39,6 +39,7 @@
         "Created ModuleSpaceOOPHM for " + moduleName, null);
   }
 
+  @Override
   public void createNativeMethods(TreeLogger logger,
       List<JsniMethod> jsniMethods, DispatchIdOracle dispatchIdOracle) {
     if (jsniMethods.isEmpty()) {
diff --git a/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java b/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java
index edaffde..97e7814 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ShellMainWindow.java
@@ -196,6 +196,7 @@
     defaultBrowserButton.setEnabled(false);
     defaultBrowserButton.setVisible(false);
     defaultBrowserButton.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         launch(new DefaultBrowserLauncher());
       }
@@ -206,6 +207,7 @@
     copyToClipboardButton.setEnabled(false);
     copyToClipboardButton.setVisible(false);
     copyToClipboardButton.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         launch(new CopyToClipboardLauncher());
       }
diff --git a/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java b/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
index da92f34..0980ae4 100644
--- a/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
+++ b/dev/core/src/com/google/gwt/dev/shell/ShellModuleSpaceHost.java
@@ -72,16 +72,19 @@
     this.rebindCache = rebindCache;
   }
 
+  @Override
   public CompilingClassLoader getClassLoader() {
     checkForModuleSpace();
     return classLoader;
   }
 
+  @Override
   public String[] getEntryPointTypeNames() {
     checkForModuleSpace();
     return module.getEntryPointTypeNames();
   }
 
+  @Override
   public TreeLogger getLogger() {
     return logger;
   }
@@ -95,6 +98,7 @@
     rebindOracle.invalidateRebind(sourceTypeName);
   }
 
+  @Override
   public void onModuleReady(ModuleSpace readySpace)
       throws UnableToCompleteException {
     this.space = readySpace;
@@ -140,11 +144,13 @@
     }
   }
 
+  @Override
   public String rebind(TreeLogger logger, String sourceTypeName)
       throws UnableToCompleteException {
     synchronized (rebindLock) {
       checkForModuleSpace();
       return rebindOracle.rebind(logger, sourceTypeName, new ArtifactAcceptor() {
+        @Override
         public void accept(TreeLogger logger, ArtifactSet newlyGeneratedArtifacts)
         throws UnableToCompleteException {
           artifactAcceptor.accept(logger, newlyGeneratedArtifacts);
diff --git a/dev/core/src/com/google/gwt/dev/shell/SyntheticClassMember.java b/dev/core/src/com/google/gwt/dev/shell/SyntheticClassMember.java
index 24d82af..fa6672d 100644
--- a/dev/core/src/com/google/gwt/dev/shell/SyntheticClassMember.java
+++ b/dev/core/src/com/google/gwt/dev/shell/SyntheticClassMember.java
@@ -28,18 +28,22 @@
     this.clazz = clazz;
   }
 
+  @Override
   public Class<?> getDeclaringClass() {
     return clazz;
   }
 
+  @Override
   public int getModifiers() {
     return Member.PUBLIC;
   }
 
+  @Override
   public String getName() {
     return "class";
   }
 
+  @Override
   public boolean isSynthetic() {
     return false;
   }
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
index 9bac9bd..7b1d20d 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java
@@ -123,6 +123,7 @@
       JButton nextButton = new JButton("+");
       top.add(nextButton);
       nextButton.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           nextMatch();
         }
@@ -130,12 +131,14 @@
       JButton prevButton = new JButton("-");
       top.add(prevButton);
       prevButton.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           prevMatch();
         }
       });
       CloseButton closeButton = new CloseButton("Close this search box");
       closeButton.setCallback(new Callback() {
+        @Override
         public void onCloseRequest() {
           hideFindBox();
         }
@@ -146,6 +149,7 @@
       key = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
       getInputMap(WHEN_IN_FOCUSED_WINDOW).put(key, "find-search");
       getActionMap().put("find-search", new AbstractAction() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           lastSearch = searchField.getText();
           matches = doFind(lastSearch);
@@ -154,6 +158,7 @@
         }
       });
       AbstractAction closeFindBox = new AbstractAction() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           hideFindBox();
         }
@@ -306,6 +311,7 @@
     JButton expandButton = new JButton("Expand All");
     expandButton.setMnemonic(KeyEvent.VK_E);
     expandButton.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         expandAll();
       }
@@ -314,6 +320,7 @@
     JButton collapseButton = new JButton("Collapse All");
     collapseButton.setMnemonic(KeyEvent.VK_O);
     collapseButton.addActionListener(new ActionListener() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         collapseAll();
       }
@@ -337,6 +344,7 @@
       levelComboBox.setSelectedIndex(levelComboBox.getItemCount() - 1);
       topPanel.add(levelComboBox);
       levelComboBox.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           setLevelFilter((TreeLogger.Type) levelComboBox.getSelectedItem());
         }
@@ -345,6 +353,7 @@
       logButtons.add(regexField);
       JButton applyRegexButton = new JButton("Apply Regex");
       applyRegexButton.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           setRegexFilter(regexField.getText());
         }
@@ -352,6 +361,7 @@
       logButtons.add(applyRegexButton);
       JButton clearRegexButton = new JButton("Clear Regex");
       clearRegexButton.addActionListener(new ActionListener() {
+        @Override
         public void actionPerformed(ActionEvent e) {
           regexField.setText("");
           setRegexFilter("");
@@ -362,6 +372,7 @@
     closeLogger = new CloseButton("Close this log window");
     closeLogger.setCallback(new Callback() {
       // TODO(jat): add support for closing active session when SWT is removed
+      @Override
       public void onCloseRequest() {
         if (disconnected && closeHandler != null) {
           closeHandler.onCloseRequest(SwingLoggerPanel.this);
@@ -437,6 +448,7 @@
     KeyStroke key = getCommandKeyStroke(KeyEvent.VK_F, false);
     getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(key, "find");
     getActionMap().put("find", new AbstractAction() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         showFindBox();
       }
@@ -444,6 +456,7 @@
     key = getCommandKeyStroke(KeyEvent.VK_C, false);
     tree.getInputMap().put(key, "copy");
     tree.getActionMap().put("copy", new AbstractAction() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         treeCopy();
       }
@@ -452,6 +465,7 @@
     key = getCommandKeyStroke(KeyEvent.VK_G, false);
     tree.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(key, "findnext");
     tree.getActionMap().put("findnext", new AbstractAction() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         findBox.nextMatch();
       }
@@ -459,6 +473,7 @@
     key = getCommandKeyStroke(KeyEvent.VK_G, true);
     tree.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(key, "findprev");
     tree.getActionMap().put("findprev", new AbstractAction() {
+      @Override
       public void actionPerformed(ActionEvent e) {
         findBox.prevMatch();
       }
@@ -511,6 +526,7 @@
     return logger;
   }
 
+  @Override
   public void hyperlinkUpdate(HyperlinkEvent event) {
     EventType eventType = event.getEventType();
     if (eventType == HyperlinkEvent.EventType.ACTIVATED) {
@@ -549,6 +565,7 @@
     closeLogger.setVisible(true);
   }
 
+  @Override
   public void valueChanged(TreeSelectionEvent e) {
     if (e.isAddedPath()) {
       TreePath path = e.getPath();
diff --git a/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java b/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
index 67d4804..19950c6 100644
--- a/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java
@@ -335,6 +335,7 @@
   private void addUpdate(final LogEvent logEvent) {
     // TODO(jat): investigate not running all of this on the event thread
     EventQueue.invokeLater(new Runnable() {
+      @Override
       public void run() {
         // TODO(jat): apply filter criteria
         SwingTreeLogger logger = logEvent.childLogger;
diff --git a/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java b/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java
index b1f0378..12e0270 100644
--- a/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java
+++ b/dev/core/src/com/google/gwt/dev/shell/remoteui/DevModeServiceRequestProcessor.java
@@ -42,6 +42,7 @@
     this.remoteUI = remoteUI;
   }
 
+  @Override
   public Response execute(Request request) throws Exception {
     if (request.getServiceType() != Request.ServiceType.DEV_MODE) {
       throw new IllegalArgumentException(
diff --git a/dev/core/src/com/google/gwt/dev/shell/remoteui/MessageTransport.java b/dev/core/src/com/google/gwt/dev/shell/remoteui/MessageTransport.java
index 9ca0209..208277a 100644
--- a/dev/core/src/com/google/gwt/dev/shell/remoteui/MessageTransport.java
+++ b/dev/core/src/com/google/gwt/dev/shell/remoteui/MessageTransport.java
@@ -196,6 +196,7 @@
    * A callable that does nothing.
    */
   private static final Callable<Response> DUMMY_CALLABLE = new Callable<Response>() {
+    @Override
     public Response call() throws Exception {
       return null;
     }
@@ -265,10 +266,12 @@
     PendingRequest pendingRequest = new PendingRequest(message,
         new Callback<Response>() {
 
+          @Override
           public void onDone(Response result) {
             future.set(result);
           }
 
+          @Override
           public void onError(Throwable t) {
             future.setException(t);
           }
@@ -314,6 +317,7 @@
 
     // This thread terminates on interruption, IO failure or EOF
     Thread messageProcessingThread = new Thread(new Runnable() {
+      @Override
       public void run() {
         try {
           while (true) {
@@ -337,6 +341,7 @@
 
     // This thread only terminates if it is interrupted
     Thread sendThread = new Thread(new Runnable() {
+      @Override
       public void run() {
         while (true) {
           try {
diff --git a/dev/core/src/com/google/gwt/dev/shell/remoteui/RemoteUI.java b/dev/core/src/com/google/gwt/dev/shell/remoteui/RemoteUI.java
index 80fcc89..d224622 100644
--- a/dev/core/src/com/google/gwt/dev/shell/remoteui/RemoteUI.java
+++ b/dev/core/src/com/google/gwt/dev/shell/remoteui/RemoteUI.java
@@ -79,10 +79,12 @@
     moduleLogger.initLogHandle(logHandle);
     moduleLogger.setMaxDetail(getLogLevel());
     ModuleHandle handle = new ModuleHandle() {
+      @Override
       public TreeLogger getLogger() {
         return moduleLogger;
       }
 
+      @Override
       public void unload() {
         synchronized (modulesLock) {
           if (!modules.contains(this)) {
@@ -136,11 +138,13 @@
     viewerServiceClient.checkCapabilities();
   }
 
+  @Override
   public void onResponseException(Exception e) {
     getTopLogger().log(TreeLogger.INFO,
         "An exception occured while attempting to send a response message.", e);
   }
 
+  @Override
   public void onTermination(Exception e) {
     getConsoleLogger().log(TreeLogger.INFO,
         "Remote UI connection terminated due to exception: " + e);
diff --git a/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceClient.java b/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceClient.java
index 6581cd0..e7973c3 100644
--- a/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceClient.java
+++ b/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceClient.java
@@ -92,10 +92,12 @@
         viewerRequestBuilder).build();
 
     transport.executeRequestAsync(requestMessage, new Callback<Response>() {
+      @Override
       public void onDone(Response result) {
         callback.onDone(result.getViewerResponse().getAddLogBranch().getLogHandle());
       }
 
+      @Override
       public void onError(Throwable t) {
         callback.onError(t);
       }
@@ -131,9 +133,11 @@
         viewerRequestBuilder).build();
 
     transport.executeRequestAsync(requestMessage, new Callback<Response>() {
+      @Override
       public void onDone(Response result) {
       }
 
+      @Override
       public void onError(Throwable t) {
         unexpectedErrorLogger.log(TreeLogger.WARN,
             "An error occurred while attempting to add a log entry.", t);
diff --git a/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceTreeLogger.java b/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceTreeLogger.java
index 6e8e3bb..a53d86c 100644
--- a/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceTreeLogger.java
+++ b/dev/core/src/com/google/gwt/dev/shell/remoteui/ViewerServiceTreeLogger.java
@@ -141,10 +141,12 @@
     assert isSent();
     viewerServiceClient.addLogBranch(branch.getBranchedIndex(), type, msg,
         caught, helpInfo, logHandle, new Callback<Integer>() {
+          @Override
           public void onDone(Integer result) {
             branch.initLogHandle(result);
           }
 
+          @Override
           public void onError(Throwable t) {
             System.err.println("An error occurred while attempting to add a log branch.");
             t.printStackTrace(System.err);
diff --git a/dev/core/src/com/google/gwt/dev/util/AbstractTextOutput.java b/dev/core/src/com/google/gwt/dev/util/AbstractTextOutput.java
index a284d7d..153ad57 100644
--- a/dev/core/src/com/google/gwt/dev/util/AbstractTextOutput.java
+++ b/dev/core/src/com/google/gwt/dev/util/AbstractTextOutput.java
@@ -36,18 +36,22 @@
     this.compact = compact;
   }
 
+  @Override
   public int getColumn() {
     return column;
   }
 
+  @Override
   public int getLine() {
     return line;
   }
 
+  @Override
   public int getPosition() {
     return position;
   }
 
+  @Override
   public void indentIn() {
     ++identLevel;
     if (identLevel >= indents.length) {
@@ -62,10 +66,12 @@
     }
   }
 
+  @Override
   public void indentOut() {
     --identLevel;
   }
 
+  @Override
   public void newline() {
     if (compact) {
       out.print('\n');
@@ -78,6 +84,7 @@
     justNewlined = true;
   }
 
+  @Override
   public void newlineOpt() {
     if (!compact) {
       out.print('\n');
@@ -88,6 +95,7 @@
     }
   }
 
+  @Override
   public void print(char c) {
     maybeIndent();
     out.print(c);
@@ -96,18 +104,21 @@
     justNewlined = false;
   }
 
+  @Override
   public void print(char[] s) {
     maybeIndent();
     printAndCount(s);
     justNewlined = false;
   }
 
+  @Override
   public void print(String s) {
     maybeIndent();
     printAndCount(s.toCharArray());
     justNewlined = false;
   }
 
+  @Override
   public void printOpt(char c) {
     if (!compact) {
       maybeIndent();
@@ -117,6 +128,7 @@
     }
   }
 
+  @Override
   public void printOpt(char[] s) {
     if (!compact) {
       maybeIndent();
@@ -124,6 +136,7 @@
     }
   }
 
+  @Override
   public void printOpt(String s) {
     if (!compact) {
       maybeIndent();
diff --git a/dev/core/src/com/google/gwt/dev/util/BrowserLauncher.java b/dev/core/src/com/google/gwt/dev/util/BrowserLauncher.java
index ca7aefe..375af3e 100644
--- a/dev/core/src/com/google/gwt/dev/util/BrowserLauncher.java
+++ b/dev/core/src/com/google/gwt/dev/util/BrowserLauncher.java
@@ -108,6 +108,7 @@
     protected Object browseObject;
     protected Method browseMethod;
 
+    @Override
     public void browse(String url) throws IOException, URISyntaxException {
       Object arg = convertUrl(url);
       Throwable caught = null;
@@ -179,6 +180,7 @@
       throw new UnsupportedOperationException("no suitable browser found");
     }
 
+    @Override
     public void browse(String url) throws IOException {
       Runtime.getRuntime().exec(new String[] { browserExecutable, url });
       // TODO(jat): do we need to wait for it to exit and check exit status?
@@ -191,6 +193,7 @@
    */
   private static class WindowsLauncher implements Launcher {
 
+    @Override
     public void browse(String url) throws IOException {
       Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
       // TODO(jat): do we need to wait for it to exit and check exit status?
diff --git a/dev/core/src/com/google/gwt/dev/util/CharArrayComparator.java b/dev/core/src/com/google/gwt/dev/util/CharArrayComparator.java
index 1d3b989..5af9a7b 100644
--- a/dev/core/src/com/google/gwt/dev/util/CharArrayComparator.java
+++ b/dev/core/src/com/google/gwt/dev/util/CharArrayComparator.java
@@ -25,6 +25,7 @@
 
   public static final CharArrayComparator INSTANCE = new CharArrayComparator();
 
+  @Override
   public int compare(char[] a, char[] b) {
     int ai = 0;
     int bi = 0;
diff --git a/dev/core/src/com/google/gwt/dev/util/StringKey.java b/dev/core/src/com/google/gwt/dev/util/StringKey.java
index 5236ca2..c77de13 100644
--- a/dev/core/src/com/google/gwt/dev/util/StringKey.java
+++ b/dev/core/src/com/google/gwt/dev/util/StringKey.java
@@ -45,6 +45,7 @@
   /**
    * Compares based on concrete type name and then value.
    */
+  @Override
   public final int compareTo(StringKey o) {
     if (getClass() == o.getClass()) {
       if (value == null) {
diff --git a/dev/core/src/com/google/gwt/dev/util/collect/HashSet.java b/dev/core/src/com/google/gwt/dev/util/collect/HashSet.java
index f3e26ed..7cbc017 100644
--- a/dev/core/src/com/google/gwt/dev/util/collect/HashSet.java
+++ b/dev/core/src/com/google/gwt/dev/util/collect/HashSet.java
@@ -38,6 +38,7 @@
     private int index = 0;
     private int last = -1;
 
+    @Override
     public boolean hasNext() {
       if (coModCheckTable != table) {
         throw new ConcurrentModificationException();
@@ -46,6 +47,7 @@
       return index < table.length;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public E next() {
       if (!hasNext()) {
@@ -55,6 +57,7 @@
       return (E) unmaskNull(table[index++]);
     }
 
+    @Override
     public void remove() {
       if (last < 0) {
         throw new IllegalStateException();
diff --git a/dev/core/src/com/google/gwt/dev/util/collect/IdentitySets.java b/dev/core/src/com/google/gwt/dev/util/collect/IdentitySets.java
index 273ae83..d588742 100644
--- a/dev/core/src/com/google/gwt/dev/util/collect/IdentitySets.java
+++ b/dev/core/src/com/google/gwt/dev/util/collect/IdentitySets.java
@@ -86,10 +86,12 @@
       this.item = item;
     }
 
+    @Override
     public boolean hasNext() {
       return item != EMPTY;
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public T next() {
       if (!hasNext()) {
@@ -100,6 +102,7 @@
       return toReturn;
     }
 
+    @Override
     public void remove() {
       throw new UnsupportedOperationException();
     }
diff --git a/dev/core/src/com/google/gwt/dev/util/collect/IdentitySingletonMap.java b/dev/core/src/com/google/gwt/dev/util/collect/IdentitySingletonMap.java
index 53d2a96..ce2bd95 100644
--- a/dev/core/src/com/google/gwt/dev/util/collect/IdentitySingletonMap.java
+++ b/dev/core/src/com/google/gwt/dev/util/collect/IdentitySingletonMap.java
@@ -33,10 +33,12 @@
       return key == entry.getKey() && value == entry.getValue();
     }
 
+    @Override
     public K getKey() {
       return key;
     }
 
+    @Override
     public V getValue() {
       return value;
     }
@@ -46,6 +48,7 @@
       return System.identityHashCode(key) ^ System.identityHashCode(value);
     }
 
+    @Override
     public V setValue(V value) {
       throw new UnsupportedOperationException();
     }
@@ -73,18 +76,22 @@
     this.value = value;
   }
 
+  @Override
   public void clear() {
     throw new UnsupportedOperationException();
   }
 
+  @Override
   public boolean containsKey(Object k) {
     return key == k;
   }
 
+  @Override
   public boolean containsValue(Object v) {
     return value == v;
   }
 
+  @Override
   public Set<Entry<K, V>> entrySet() {
     return Sets.<Entry<K, V>> create(new IdentityEntry());
   }
@@ -99,6 +106,7 @@
     return entrySet().equals(other.entrySet());
   }
 
+  @Override
   public V get(Object k) {
     return (key == k) ? value : null;
   }
@@ -108,26 +116,32 @@
     return System.identityHashCode(key) ^ System.identityHashCode(value);
   }
 
+  @Override
   public boolean isEmpty() {
     return false;
   }
 
+  @Override
   public Set<K> keySet() {
     return Sets.create(key);
   }
 
+  @Override
   public V put(K key, V value) {
     throw new UnsupportedOperationException();
   }
 
+  @Override
   public void putAll(Map<? extends K, ? extends V> m) {
     throw new UnsupportedOperationException();
   }
 
+  @Override
   public V remove(Object key) {
     throw new UnsupportedOperationException();
   }
 
+  @Override
   public int size() {
     return 1;
   }
@@ -142,6 +156,7 @@
     return buf.toString();
   }
 
+  @Override
   public Collection<V> values() {
     return Sets.create(value);
   }
diff --git a/dev/core/src/com/google/gwt/dev/util/editdistance/GeneralEditDistances.java b/dev/core/src/com/google/gwt/dev/util/editdistance/GeneralEditDistances.java
index 2dcfae5..fa042bc 100644
--- a/dev/core/src/com/google/gwt/dev/util/editdistance/GeneralEditDistances.java
+++ b/dev/core/src/com/google/gwt/dev/util/editdistance/GeneralEditDistances.java
@@ -82,6 +82,7 @@
       this.patternLength = pattern.length();
     }
 
+    @Override
     public GeneralEditDistance duplicate() {
       Levenshtein dup = new Levenshtein(pattern);
 
@@ -95,6 +96,7 @@
       return dup;
     }
 
+    @Override
     public int getDistance(CharSequence target, int limit) {
       /* When the limit is 0 or 1, specialized comparisons are much faster. */
       if (limit <= 1) {
diff --git a/dev/core/src/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistance.java b/dev/core/src/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistance.java
index 6a94cd7..8990054 100644
--- a/dev/core/src/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistance.java
+++ b/dev/core/src/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistance.java
@@ -221,10 +221,12 @@
     this.pattern = pattern;
   }
 
+  @Override
   public ModifiedBerghelRoachEditDistance duplicate() {
     return new ModifiedBerghelRoachEditDistance(pattern);
   }
 
+  @Override
   public int getDistance(CharSequence targetSequence, int limit) {
     final int targetLength = targetSequence.length();
 
diff --git a/dev/core/src/com/google/gwt/dev/util/editdistance/MyersBitParallelEditDistance.java b/dev/core/src/com/google/gwt/dev/util/editdistance/MyersBitParallelEditDistance.java
index febd160..d6fa036 100644
--- a/dev/core/src/com/google/gwt/dev/util/editdistance/MyersBitParallelEditDistance.java
+++ b/dev/core/src/com/google/gwt/dev/util/editdistance/MyersBitParallelEditDistance.java
@@ -490,6 +490,7 @@
     idx = CharIndex.getInstance(s);
   }
 
+  @Override
   public GeneralEditDistance duplicate() {
     try {
       return (MyersBitParallelEditDistance) clone();
@@ -502,6 +503,7 @@
    * Computes distance from the pattern to a given string, bounded by
    * a limiting distance @see(GeneralEditDistance.getDistance(CharSequence,int)).
    */
+  @Override
   public abstract int getDistance(CharSequence s, int k);
 
   @Override
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
index c0886dd..56f0b58 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/CompilerEventType.java
@@ -81,10 +81,12 @@
     this.cssColor = cssColor;
   }
 
+  @Override
   public String getColor() {
     return cssColor;
   }
 
+  @Override
   public String getName() {
     return name;
   }
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
index 14a400c..0a2e70c 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/DevModeEventType.java
@@ -53,10 +53,12 @@
     this.cssColor = cssColor;
   }
 
+  @Override
   public String getColor() {
     return cssColor;
   }
 
+  @Override
   public String getName() {
     return name;
   }
diff --git a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerEventType.java b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerEventType.java
index 69a10a0..8368d1a 100644
--- a/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerEventType.java
+++ b/dev/core/src/com/google/gwt/dev/util/log/speedtracer/SpeedTracerEventType.java
@@ -33,10 +33,12 @@
     this.cssColor = cssColor;
   }
 
+  @Override
   public String getColor() {
     return cssColor;
   }
 
+  @Override
   public String getName() {
     return name;
   }
diff --git a/dev/core/src/com/google/gwt/soyc/io/ArtifactsOutputDirectory.java b/dev/core/src/com/google/gwt/soyc/io/ArtifactsOutputDirectory.java
index 9cf9dea..87dd520 100644
--- a/dev/core/src/com/google/gwt/soyc/io/ArtifactsOutputDirectory.java
+++ b/dev/core/src/com/google/gwt/soyc/io/ArtifactsOutputDirectory.java
@@ -83,6 +83,7 @@
     return artifacts;
   }
 
+  @Override
   public OutputStream getOutputStream(String path) throws IOException {
     return new OutputStreamForArtifact(path);
   }
diff --git a/dev/core/src/com/google/gwt/soyc/io/FileSystemOutputDirectory.java b/dev/core/src/com/google/gwt/soyc/io/FileSystemOutputDirectory.java
index 6914c00..14c570e 100644
--- a/dev/core/src/com/google/gwt/soyc/io/FileSystemOutputDirectory.java
+++ b/dev/core/src/com/google/gwt/soyc/io/FileSystemOutputDirectory.java
@@ -30,6 +30,7 @@
     this.outDir = outDir;
   }
 
+  @Override
   public OutputStream getOutputStream(String path) throws IOException {
     File outFile = new File(outDir, path);
     outFile.getParentFile().mkdirs();
diff --git a/dev/core/test/com/google/gwt/core/ext/linker/impl/StandardSelectionPropertyTest.java b/dev/core/test/com/google/gwt/core/ext/linker/impl/StandardSelectionPropertyTest.java
index 1c646fa..db06296 100644
--- a/dev/core/test/com/google/gwt/core/ext/linker/impl/StandardSelectionPropertyTest.java
+++ b/dev/core/test/com/google/gwt/core/ext/linker/impl/StandardSelectionPropertyTest.java
@@ -39,6 +39,7 @@
   public static class MyProviderGenerator
       implements PropertyProviderGenerator {
 
+    @Override
     public String generate(TreeLogger logger, SortedSet<String> possibleValues,
         String fallback, SortedSet<ConfigurationProperty> configProperties)
         throws UnableToCompleteException {
diff --git a/dev/core/test/com/google/gwt/dev/SessionModuleTest.java b/dev/core/test/com/google/gwt/dev/SessionModuleTest.java
index 8d018fc..2fecb61 100644
--- a/dev/core/test/com/google/gwt/dev/SessionModuleTest.java
+++ b/dev/core/test/com/google/gwt/dev/SessionModuleTest.java
@@ -23,18 +23,22 @@
 public class SessionModuleTest extends TestCase {
   
   public static final Disconnectable mockDisc1 = new Disconnectable() {
+    @Override
     public void disconnect() {
     }
 
+    @Override
     public boolean isDisconnected() {
       return false;
     }
   };
   
   public static final Disconnectable mockDisc2 = new Disconnectable() {
+    @Override
     public void disconnect() {
     }
 
+    @Override
     public boolean isDisconnected() {
       return false;
     }
diff --git a/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java b/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java
index 3c4319a..2c03cb9 100644
--- a/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/BinaryTypeReferenceRestrictionsCheckerTest.java
@@ -60,82 +60,102 @@
       this.qualifiedTypeName = typeName;
     }
 
+    @Override
     public IBinaryAnnotation[] getAnnotations() {
       return null;
     }
 
+    @Override
     public char[] getEnclosingMethod() {
       return null;
     }
 
+    @Override
     public char[] getEnclosingTypeName() {
       return null;
     }
 
+    @Override
     public IBinaryField[] getFields() {
       return null;
     }
 
+    @Override
     public char[] getFileName() {
       return (qualifiedTypeName.replace('.', File.separatorChar) + ".java").toCharArray();
     }
 
+    @Override
     public char[] getGenericSignature() {
       return qualifiedTypeName.toCharArray();
     }
 
+    @Override
     public char[][] getInterfaceNames() {
       return null;
     }
 
+    @Override
     public IBinaryNestedType[] getMemberTypes() {
       return null;
     }
 
+    @Override
     public IBinaryMethod[] getMethods() {
       return null;
     }
 
+    @Override
     public char[][][] getMissingTypeNames() {
       return null;
     }
 
+    @Override
     public int getModifiers() {
       return 0;
     }
 
+    @Override
     public char[] getName() {
       return qualifiedTypeName.toCharArray();
     }
 
+    @Override
     public char[] getSourceName() {
       return null;
     }
 
+    @Override
     public char[] getSuperclassName() {
       return null;
     }
 
+    @Override
     public long getTagBits() {
       return 0;
     }
 
+    @Override
     public boolean isAnonymous() {
       return false;
     }
 
+    @Override
     public boolean isBinaryType() {
       return true;
     }
 
+    @Override
     public boolean isLocal() {
       return false;
     }
 
+    @Override
     public boolean isMember() {
       return false;
     }
 
+    @Override
     public char[] sourceFileName() {
       return null;
     }
diff --git a/dev/core/test/com/google/gwt/dev/javac/CompilationStateTestBase.java b/dev/core/test/com/google/gwt/dev/javac/CompilationStateTestBase.java
index ffc5aa0..0536a54 100644
--- a/dev/core/test/com/google/gwt/dev/javac/CompilationStateTestBase.java
+++ b/dev/core/test/com/google/gwt/dev/javac/CompilationStateTestBase.java
@@ -60,30 +60,37 @@
     Set<GeneratedUnit> units = new HashSet<GeneratedUnit>();
     for (final MockResource sourceFile : sourceFiles) {
       units.add(new GeneratedUnit() {
+        @Override
         public long creationTime() {
           return sourceFile.getLastModified();
         }
 
+        @Override
         public String getSource() {
           return sourceFile.getString();
         }
 
+        @Override
         public String getSourceMapPath() {
           return getTypeName().replace(".", "/") + ".java";
         }
 
+        @Override
         public long getSourceToken() {
           return -1;
         }
 
+        @Override
         public String getStrongHash() {
           return Util.computeStrongName(Util.getBytes(getSource()));
         }
 
+        @Override
         public String getTypeName() {
           return Shared.getTypeName(sourceFile);
         }
 
+        @Override
         public String optionalFileLocation() {
           return sourceFile.getLocation();
         }
diff --git a/dev/core/test/com/google/gwt/dev/javac/CompilationUnitInvalidatorTest.java b/dev/core/test/com/google/gwt/dev/javac/CompilationUnitInvalidatorTest.java
index 087037f..5e068c4 100644
--- a/dev/core/test/com/google/gwt/dev/javac/CompilationUnitInvalidatorTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/CompilationUnitInvalidatorTest.java
@@ -107,6 +107,7 @@
       @Override
       public Dependencies getDependencies() {
         return new Dependencies() {
+          @Override
           public List<String> getApiRefs() {
             return Arrays.asList(apiRefs);
           }
diff --git a/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java b/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java
index 8a988ca..f876cc2 100644
--- a/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/GeneratedClassnameFinderTest.java
@@ -37,6 +37,7 @@
     static class NestedClass {
       void foo() {
         TestInterface c = new TestInterface() {
+          @Override
           public void foo() {
           }
         };
@@ -46,6 +47,7 @@
             break;
         }
         TestInterface d = new TestInterface() {
+          @Override
           public void foo() {
           }
         };
@@ -54,6 +56,7 @@
 
     void foo() {
       TestInterface a = new TestInterface() {
+        @Override
         public void foo() {
         }
       };
@@ -63,6 +66,7 @@
           break;
       }
       TestInterface b = new TestInterface() {
+        @Override
         public void foo() {
         }
       };
@@ -141,6 +145,7 @@
       abstract void foo();
     }
     Fooer a = new Fooer() {
+      @Override
       native void foo();
     };
     a.foo();
@@ -162,6 +167,7 @@
 
   void foo() {
     TestInterface a = new TestInterface() {
+      @Override
       public void foo() {
       }
     };
@@ -362,11 +368,13 @@
   }
 
   private static class Fuji extends Apple {
+    @Override
     public void bar() {
     }
   }
 
   private static class Granny extends Apple {
+    @Override
     public void bar() {
     }
   }
@@ -385,6 +393,7 @@
 class TopLevelTester {
   public void foo() {
     GeneratedClassnameFinderTest.TestInterface a = new GeneratedClassnameFinderTest.TestInterface() {
+      @Override
       public void foo() {
       }
     };
diff --git a/dev/core/test/com/google/gwt/dev/javac/JdtBehaviorTest.java b/dev/core/test/com/google/gwt/dev/javac/JdtBehaviorTest.java
index 0be5bac..53e7690 100644
--- a/dev/core/test/com/google/gwt/dev/javac/JdtBehaviorTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/JdtBehaviorTest.java
@@ -69,6 +69,7 @@
    * Hook point to accept results.
    */
   private class ICompilerRequestorImpl implements ICompilerRequestor {
+    @Override
     public void acceptResult(CompilationResult result) {
       if (result.hasErrors()) {
         StringBuilder sb = new StringBuilder();
@@ -107,14 +108,17 @@
    * How JDT receives files from the environment.
    */
   private class INameEnvironmentImpl implements INameEnvironment {
+    @Override
     public void cleanup() {
       // intentionally blank
     }
 
+    @Override
     public NameEnvironmentAnswer findType(char[] type, char[][] pkg) {
       return findType(CharOperation.arrayConcat(pkg, type));
     }
 
+    @Override
     public NameEnvironmentAnswer findType(char[][] compoundTypeName) {
       final char[] typeChars = CharOperation.concatWith(compoundTypeName, '.');
       String typeName = String.valueOf(typeChars);
@@ -134,6 +138,7 @@
       return null;
     }
 
+    @Override
     public boolean isPackage(char[][] parentPkg, char[] pkg) {
       final char[] pathChars = CharOperation.concatWith(parentPkg, pkg, '.');
       String packageName = String.valueOf(pathChars);
@@ -150,6 +155,7 @@
       sourceFile = resource;
     }
 
+    @Override
     public char[] getContents() {
       try {
         return Shared.readSource(sourceFile).toCharArray();
@@ -159,18 +165,22 @@
       return null;
     }
 
+    @Override
     public char[] getFileName() {
       return sourceFile.getLocation().toCharArray();
     }
 
+    @Override
     public char[] getMainTypeName() {
       return Shared.getShortName(Shared.getTypeName(sourceFile)).toCharArray();
     }
 
+    @Override
     public boolean ignoreOptionalProblems() {
       return false;
     }
 
+    @Override
     public char[][] getPackageName() {
       return CharOperation.splitOn('.', Shared.getPackageName(
           Shared.getTypeName(sourceFile)).toCharArray());
diff --git a/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java b/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
index 88a06db..19c6af2 100644
--- a/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/asm/ResolveGenericsTest.java
@@ -79,28 +79,34 @@
       this.delegate = resolver;
     }
 
+    @Override
     public void addImplementedInterface(JRealClassType type, JClassType intf) {
       delegate.addImplementedInterface(type, intf);
     }
 
+    @Override
     public void addThrows(JAbstractMethod method, JClassType exception) {
       delegate.addThrows(method, exception);
     }
 
+    @Override
     public Map<String, JRealClassType> getInternalMapper() {
       return delegate.getInternalMapper();
     }
 
+    @Override
     public TypeOracle getTypeOracle() {
       return delegate.getTypeOracle();
     }
 
+    @Override
     public JMethod newMethod(JClassType type, String name,
         Map<Class<? extends Annotation>, Annotation> declaredAnnotations,
         JTypeParameter[] typeParams) {
       return delegate.newMethod(type, name, declaredAnnotations, typeParams);
     }
 
+    @Override
     public void newParameter(JAbstractMethod method, JType argType,
         String argName,
         Map<Class<? extends Annotation>, Annotation> declaredAnnotations,
@@ -109,6 +115,7 @@
           argNamesAreReal);
     }
 
+    @Override
     public JRealClassType newRealClassType(JPackage pkg,
         String enclosingTypeName, boolean isLocalType, String className,
         boolean isIntf) {
@@ -116,26 +123,31 @@
           className, isIntf);
     }
 
+    @Override
     public boolean resolveAnnotation(TreeLogger logger,
         CollectAnnotationData annotVisitor,
         Map<Class<? extends Annotation>, Annotation> declaredAnnotations) {
       return true;
     }
 
+    @Override
     public boolean resolveAnnotations(TreeLogger logger,
         List<CollectAnnotationData> annotations,
         Map<Class<? extends Annotation>, Annotation> declaredAnnotations) {
       return true;
     }
 
+    @Override
     public boolean resolveClass(TreeLogger logger, JRealClassType type) {
       return true;
     }
 
+    @Override
     public void setReturnType(JAbstractMethod method, JType returnType) {
       delegate.setReturnType(method, returnType);
     }
 
+    @Override
     public void setSuperClass(JRealClassType type, JClassType superType) {
       delegate.setSuperClass(type, superType);
     }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/JDelegatingClassTypeTestBase.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/JDelegatingClassTypeTestBase.java
index 94627f7..8bc080e 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/JDelegatingClassTypeTestBase.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/JDelegatingClassTypeTestBase.java
@@ -30,6 +30,7 @@
 public abstract class JDelegatingClassTypeTestBase extends TestCase {
 
   private static final Comparator<? super Annotation> ANNOTATION_COMPARATOR = new Comparator<Annotation>() {
+    @Override
     public int compare(Annotation o1, Annotation o2) {
       // Just use toString, it contains all info.
       return o1.toString().compareTo(o2.toString());
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/JGenericTypeTest.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/JGenericTypeTest.java
index aa45d2e..f8c2b60 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/JGenericTypeTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/JGenericTypeTest.java
@@ -154,6 +154,7 @@
 
     JDelegatingClassTypeTestBase.validateTypeSubstitution(genericClass,
         genericClass.getRawType(), new Substitution() {
+          @Override
           public JClassType getSubstitution(JClassType type) {
             return type.getErasedType();
           }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/JParameterizedTypeTest.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/JParameterizedTypeTest.java
index cf0e2e1..9395521 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/JParameterizedTypeTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/JParameterizedTypeTest.java
@@ -52,6 +52,7 @@
       this.parameterizedType = parameterizedType;
     }
 
+    @Override
     public JClassType getSubstitution(JClassType type) {
       return type.getSubstitutedType(parameterizedType);
     }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/JRawTypeTest.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/JRawTypeTest.java
index 072e64e..f90caf0 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/JRawTypeTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/JRawTypeTest.java
@@ -117,6 +117,7 @@
   @Override
   protected Substitution getSubstitution() throws NotFoundException {
     return new Substitution() {
+      @Override
       public JClassType getSubstitution(JClassType type) {
         return type.getErasedType();
       }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/JTypeParameterTest.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/JTypeParameterTest.java
index 147acac..9dbc862 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/JTypeParameterTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/JTypeParameterTest.java
@@ -163,6 +163,7 @@
   @Override
   protected Substitution getSubstitution() {
     return new Substitution() {
+      @Override
       public JClassType getSubstitution(JClassType type) {
         return type;
       }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/JWildcardTypeTest.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/JWildcardTypeTest.java
index 32c6d12..c33263f 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/JWildcardTypeTest.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/JWildcardTypeTest.java
@@ -331,6 +331,7 @@
   @Override
   protected Substitution getSubstitution() {
     return new Substitution() {
+      @Override
       public JClassType getSubstitution(JClassType type) {
         return type;
       }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/CB.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/CB.java
index c6cc31e..6a41f88 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/CB.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/CB.java
@@ -2,6 +2,7 @@
 
 public abstract class CB extends CA implements IB {
 
+  @Override
   public final void foo() {
   }
 
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/EnumOfInterface.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/EnumOfInterface.java
index c99a083..8e8de67 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/EnumOfInterface.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/EnumOfInterface.java
@@ -32,6 +32,7 @@
   B;
 
   // Default just returns null
+  @Override
   public String getExtra() {
     return null;
   }
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/GenericClass.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/GenericClass.java
index ad54c3e..631a2ce 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/GenericClass.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/GenericClass.java
@@ -90,6 +90,7 @@
     this.typeParameterField = t;
   }
 
+  @Override
   public int compareTo(T o) {
     // TODO Auto-generated method stub
     return 0;
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IB.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IB.java
index 81e8835..421dfa9 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IB.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IB.java
@@ -2,6 +2,7 @@
 
 public interface IB extends IA {
 
+  @Override
   void foo();
 
   void ib();
diff --git a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IC.java b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IC.java
index 59ad176..4d5ba5e 100644
--- a/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IC.java
+++ b/dev/core/test/com/google/gwt/dev/javac/typemodel/test/IC.java
@@ -2,8 +2,10 @@
 
 public interface IC extends IB, IA {
 
+  @Override
   void ib();
 
+  @Override
   void ib(int x, Object y);
 
   void ic();
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/AdditionalTypeProviderDelegateTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/AdditionalTypeProviderDelegateTest.java
index 1207473..3cd19bd 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/AdditionalTypeProviderDelegateTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/AdditionalTypeProviderDelegateTest.java
@@ -1,12 +1,12 @@
 /*
  * Copyright 2010 Google Inc.
- * 
+ *
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  * use this file except in compliance with the License. You may obtain a copy of
  * the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -36,20 +36,24 @@
   private class JavaWrapperCompilationUnit implements GeneratedUnit {
     private final long createTime = System.currentTimeMillis();
 
+    @Override
     public String optionalFileLocation() {
       return null; // not used
     }
 
+    @Override
     public String getStrongHash() {
       return "InsertedClass";
     }
 
+    @Override
     public long creationTime() {
       return createTime;
     }
 
-   public String getSource() {
-      String classSource = 
+    @Override
+    public String getSource() {
+      String classSource =
           "package myPackage;\n" +
           "public class InsertedClass {\n" +
           "  public static int getSmallNumber() {\n" +
@@ -65,18 +69,21 @@
       // or else the file won't get compiled correctly.
       return "myPackage/InsertedClass.notjava";
     }
-   
+
+    @Override
     public String getTypeName() {
       return "myPackage.InsertedClass";
     }
+    @Override
     public long getSourceToken() {
       return -1;
     }
   }
 
-   public boolean insertInsertedClass = false;
+  public boolean insertInsertedClass = false;
 
-   public void setUp() {
+  @Override
+  public void setUp() {
      // Create a source class that passes fine (just to test infrastructure.)
      sourceOracle.addOrReplace(new MockJavaResource("test.A") {
        @Override
@@ -90,7 +97,7 @@
          return code;
        }
      });
-     
+
      // Create a source file containing a reference to a class in another
      // package that we don't yet know about.  That code will be inserted
      // by the AdditionalTypeProviderDelegate.
@@ -109,7 +116,7 @@
          return code;
        }
      });
-     
+
      // Create a source file containing a reference to a class in another
      // package, but that lacks an import directive.  Are we creating the
      // class anyway?
@@ -131,22 +138,22 @@
 
   public void testInsertedClass() throws UnableToCompleteException {
     JProgram program = compileSnippet("void", "new test.B().func();");
-    
+
     // Make sure the compiled classes appeared.
     JDeclaredType bType = findType(program, "test.B");
     assertNotNull("Unknown type B", bType);
     JDeclaredType insertedClassType = findType(program, "myPackage.InsertedClass");
-    assertNotNull("Unknown type InsertedClass", insertedClassType);  
+    assertNotNull("Unknown type InsertedClass", insertedClassType);
   }
-  
+
   public void testInsertedClass2() throws UnableToCompleteException {
     JProgram program = compileSnippet("void", "new test.B1().func();");
-    
+
     // Make sure the compiled classes appeared.
     JDeclaredType bType = findType(program, "test.B1");
     assertNotNull("Unknown type B1", bType);
     JDeclaredType insertedClassType = findType(program, "myPackage.InsertedClass");
-    assertNotNull("Unknown type InsertedClass", insertedClassType);  
+    assertNotNull("Unknown type InsertedClass", insertedClassType);
   }
 
   // Make sure regular code not using the AdditionalTypeProviderDelegate still works.
@@ -209,6 +216,7 @@
     // We'll provide a simple compiler delegate that will provide source
     // for a class called myPackage.InsertedClass.
     return new AdditionalTypeProviderDelegate() {
+      @Override
       public boolean doFindAdditionalPackage(String slashedPackageName) {
         if (slashedPackageName.compareTo("myPackage") == 0) {
             return true;
@@ -216,6 +224,7 @@
         return false;
       }
 
+      @Override
       public GeneratedUnit doFindAdditionalType(String binaryName) {
         if (binaryName.compareTo("myPackage/InsertedClass") == 0) {
           return new JavaWrapperCompilationUnit();
@@ -225,6 +234,7 @@
     };
   }
 
+  @Override
   protected boolean optimizeMethod(JProgram program, JMethod method) {
     return false;
   }
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/JEnumTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/JEnumTest.java
index 8274374..9689add 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/JEnumTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/JEnumTest.java
@@ -30,6 +30,7 @@
  */
 public class JEnumTest extends JJSTestBase {
 
+  @Override
   public void setUp() {
     sourceOracle.addOrReplace(new MockJavaResource("test.Simple") {
       @Override
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java
index 2b850ca..80fc460 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/JsniRefLookupTest.java
@@ -40,6 +40,7 @@
       assertTrue("Unexpected error: " + error, error == null);
     }
 
+    @Override
     public void reportError(String error) {
       this.error = error;
     }
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/PostOptimizationCompoundAssignmentNormalizerTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/PostOptimizationCompoundAssignmentNormalizerTest.java
index 32f77b9..8f8e77a 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/PostOptimizationCompoundAssignmentNormalizerTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/PostOptimizationCompoundAssignmentNormalizerTest.java
@@ -55,6 +55,7 @@
         "float x=2; double d=3.0; x += d;");
   }
   
+  @Override
   protected boolean optimizeMethod(JProgram program, JMethod method) {
     PostOptimizationCompoundAssignmentNormalizer.exec(program);
     LongCastNormalizer.exec(program);
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitterTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitterTest.java
index 550cd09..819b2ed 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitterTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/codesplitter/CodeSplitterTest.java
@@ -64,18 +64,23 @@
    */
   private static final MultipleDependencyGraphRecorder NULL_RECORDER =
       new MultipleDependencyGraphRecorder() {
+        @Override
         public void close() {
         }
 
+        @Override
         public void endDependencyGraph() {
         }
 
+        @Override
         public void methodIsLiveBecause(JMethod liveMethod, ArrayList<JMethod> dependencyChain) {
         }
 
+        @Override
         public void open() {
         }
 
+        @Override
         public void startDependencyGraph(String name, String extnds) {
         }
       };
diff --git a/dev/core/test/com/google/gwt/dev/js/ComparingVisitor.java b/dev/core/test/com/google/gwt/dev/js/ComparingVisitor.java
index a7c91d0..9aa5c9a 100644
--- a/dev/core/test/com/google/gwt/dev/js/ComparingVisitor.java
+++ b/dev/core/test/com/google/gwt/dev/js/ComparingVisitor.java
@@ -371,11 +371,13 @@
     return false;
   }
 
+  @Override
   public boolean visit(JsVars x, JsContext ctx) {
     TestCase.assertTrue(other instanceof JsVars);
     return false;
   }
 
+  @Override
   public boolean visit(JsWhile x, JsContext ctx) {
     TestCase.assertTrue(other instanceof JsWhile);
     return false;
diff --git a/dev/core/test/com/google/gwt/dev/js/FlatteningVisitor.java b/dev/core/test/com/google/gwt/dev/js/FlatteningVisitor.java
index b7b99ec..5ce8f59 100644
--- a/dev/core/test/com/google/gwt/dev/js/FlatteningVisitor.java
+++ b/dev/core/test/com/google/gwt/dev/js/FlatteningVisitor.java
@@ -46,6 +46,7 @@
     root = new TreeNode(null);
   }
 
+  @Override
   protected <T extends JsVisitable> T doAccept(T node) {
     TreeNode oldRoot = root;
     root = new TreeNode(node);
@@ -55,6 +56,7 @@
     return node;
   }
 
+  @Override
   protected <T extends JsVisitable> void doAcceptList(List<T> collection) {
     for (Iterator<T> it = collection.iterator(); it.hasNext();) {
       doAccept(it.next());
diff --git a/dev/core/test/com/google/gwt/dev/js/JsDuplicateFunctionRemoverTest.java b/dev/core/test/com/google/gwt/dev/js/JsDuplicateFunctionRemoverTest.java
index 07cd356..8bee919 100644
--- a/dev/core/test/com/google/gwt/dev/js/JsDuplicateFunctionRemoverTest.java
+++ b/dev/core/test/com/google/gwt/dev/js/JsDuplicateFunctionRemoverTest.java
@@ -131,6 +131,7 @@
 
     final Map<String, JsName> assignments = new HashMap<String, JsName>();
 
+    @Override
     public void endVisit(JsBinaryOperation expr, JsContext ctx) {
       if (expr.getOperator() != JsBinaryOperator.ASG || !(expr.getArg1() instanceof JsNameRef) ||
           !(expr.getArg2() instanceof JsNameRef)) {
@@ -199,6 +200,7 @@
 
   private static void setAllFromJava(JsProgram program) {
     new JsModVisitor() {
+      @Override
       public void endVisit(JsFunction func, JsContext ctx) {
         func.setFromJava(true);
       }
diff --git a/dev/core/test/com/google/gwt/dev/resource/impl/ClassPathEntryTest.java b/dev/core/test/com/google/gwt/dev/resource/impl/ClassPathEntryTest.java
index 2beae8b..d415548 100644
--- a/dev/core/test/com/google/gwt/dev/resource/impl/ClassPathEntryTest.java
+++ b/dev/core/test/com/google/gwt/dev/resource/impl/ClassPathEntryTest.java
@@ -201,6 +201,7 @@
     {
       // Create a pps with a filter.
       ResourceFilter excludeXmlFiles = new ResourceFilter() {
+        @Override
         public boolean allows(String path) {
           return !path.endsWith(".xml");
         }
@@ -236,6 +237,7 @@
        */
       PathPrefixSet pps = new PathPrefixSet();
       pps.add(new PathPrefix("", new ResourceFilter() {
+        @Override
         public boolean allows(String path) {
           // Exclude everything.
           return false;
@@ -260,6 +262,7 @@
 
     PathPrefixSet pps = new PathPrefixSet();
     ResourceFilter excludeXmlFiles = new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return !path.endsWith(".xml");
       }
diff --git a/dev/core/test/com/google/gwt/dev/resource/impl/DefaultFiltersTest.java b/dev/core/test/com/google/gwt/dev/resource/impl/DefaultFiltersTest.java
index 3509223..9c2eedf 100644
--- a/dev/core/test/com/google/gwt/dev/resource/impl/DefaultFiltersTest.java
+++ b/dev/core/test/com/google/gwt/dev/resource/impl/DefaultFiltersTest.java
@@ -582,6 +582,7 @@
     final ZipScanner scanner = DefaultFilters.getScanner(includes, excludes,
         skips, defaultExcludes, true);
     return new ResourceFilterString(new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return fileTypeMatches(filterFileType, path) && scanner.match(path);
       }
diff --git a/dev/core/test/com/google/gwt/dev/resource/impl/PathPrefixSetTest.java b/dev/core/test/com/google/gwt/dev/resource/impl/PathPrefixSetTest.java
index b0dd848..af51bfa 100644
--- a/dev/core/test/com/google/gwt/dev/resource/impl/PathPrefixSetTest.java
+++ b/dev/core/test/com/google/gwt/dev/resource/impl/PathPrefixSetTest.java
@@ -73,6 +73,7 @@
      */
     PathPrefixSet pps = new PathPrefixSet();
     ResourceFilter allowsGifs = new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return path.toLowerCase(Locale.ENGLISH).endsWith(".gif");
       }
@@ -134,6 +135,7 @@
     PathPrefix pp1 = new PathPrefix("", null);
     PathPrefix pp2 = new PathPrefix("a/", null);
     PathPrefix pp3 = new PathPrefix("a/b/", new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         // Disallow anything ending with "FILTERMEOUT".
         return !path.endsWith("FILTERMEOUT");
@@ -141,6 +143,7 @@
     });
     PathPrefix pp4 = new PathPrefix("a/b/c/", null);
     PathPrefix pp5 = new PathPrefix("a/", new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return !path.endsWith("X.java");
       }
@@ -192,6 +195,7 @@
      */
     PathPrefixSet pps = new PathPrefixSet();
     PathPrefix pp1 = new PathPrefix("", new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return path.endsWith("Y.java");
       }
diff --git a/dev/core/test/com/google/gwt/dev/resource/impl/ResourceOracleImplRealClasspathTest.java b/dev/core/test/com/google/gwt/dev/resource/impl/ResourceOracleImplRealClasspathTest.java
index 94d750a..758f1dd 100644
--- a/dev/core/test/com/google/gwt/dev/resource/impl/ResourceOracleImplRealClasspathTest.java
+++ b/dev/core/test/com/google/gwt/dev/resource/impl/ResourceOracleImplRealClasspathTest.java
@@ -31,6 +31,7 @@
 
   private static PathPrefix makeJunitPrefix() {
     return new PathPrefix("junit/framework/", new ResourceFilter() {
+      @Override
       public boolean allows(String path) {
         return path.endsWith("TestCase.class");
       }
@@ -40,6 +41,7 @@
   private static PathPrefix makeThisClassPrefix() {
     return new PathPrefix("com/google/gwt/dev/resource/impl/",
         new ResourceFilter() {
+          @Override
           public boolean allows(String path) {
             return path.endsWith("ResourceOracleImplRealClasspathTest.class");
           }
@@ -49,6 +51,7 @@
   private static PathPrefix makeThisClassPrefixPlus() {
     return new PathPrefix("com/google/gwt/dev/resource/impl/",
         new ResourceFilter() {
+          @Override
           public boolean allows(String path) {
             return path.endsWith("ResourceOracleImpl.class")
                 || path.endsWith("ResourceOracleImplRealClasspathTest.class");
diff --git a/dev/core/test/com/google/gwt/dev/shell/RemoteObjectTableTest.java b/dev/core/test/com/google/gwt/dev/shell/RemoteObjectTableTest.java
index 0103a01..00e237a 100644
--- a/dev/core/test/com/google/gwt/dev/shell/RemoteObjectTableTest.java
+++ b/dev/core/test/com/google/gwt/dev/shell/RemoteObjectTableTest.java
@@ -37,6 +37,7 @@
       this.refId = refId;
     }
 
+    @Override
     public int getRefid() {
       return refId;
     }
diff --git a/dev/core/test/com/google/gwt/dev/shell/TestBrowserChannel.java b/dev/core/test/com/google/gwt/dev/shell/TestBrowserChannel.java
index 88e2fcc..94708f9 100644
--- a/dev/core/test/com/google/gwt/dev/shell/TestBrowserChannel.java
+++ b/dev/core/test/com/google/gwt/dev/shell/TestBrowserChannel.java
@@ -28,14 +28,17 @@
   public TestBrowserChannel(InputStream inputStream,
       OutputStream outputStream) throws IOException {
     super(inputStream, outputStream, new ObjectRefFactory() {
+      @Override
       public JavaObjectRef getJavaObjectRef(int refId) {
         return new JavaObjectRef(refId);
       }
 
+      @Override
       public JsObjectRef getJsObjectRef(int refId) {
         return new JsObjectRef(refId);
       }
 
+      @Override
       public Set<Integer> getRefIdsForCleanup() {
         return Collections.emptySet();
       }
diff --git a/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java b/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java
index 3d93795..300d96d 100644
--- a/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java
+++ b/dev/core/test/com/google/gwt/dev/shell/remoteui/MessageTransportTest.java
@@ -90,6 +90,7 @@
      * requests (any responses).
      */
     RequestProcessor requestProcessor = new RequestProcessor() {
+      @Override
       public Response execute(Request request) throws Exception {
         fail("Should not reach here.");
         return null;
@@ -101,8 +102,10 @@
         network.getClientSocket().getInputStream(),
         network.getClientSocket().getOutputStream(), requestProcessor,
         new MessageTransport.ErrorCallback() {
+          @Override
           public void onResponseException(Exception e) {
           }
+          @Override
           public void onTermination(Exception e) {
           }
         });
@@ -168,6 +171,7 @@
      * requests (any responses).
      */
     RequestProcessor requestProcessor = new RequestProcessor() {
+      @Override
       public Response execute(Request request) throws Exception {
         fail("Should not reach here.");
         return null;
@@ -238,6 +242,7 @@
      * requests (any responses).
      */
     RequestProcessor requestProcessor = new RequestProcessor() {
+      @Override
       public Response execute(Request request) throws Exception {
         fail("Should not reach here.");
         return null;
@@ -249,8 +254,10 @@
         network.getClientSocket().getInputStream(),
         network.getClientSocket().getOutputStream(), requestProcessor,
         new MessageTransport.ErrorCallback() {
+          @Override
           public void onResponseException(Exception e) {
           }
+          @Override
           public void onTermination(Exception e) {
           }
         });
@@ -334,6 +341,7 @@
      * we've defined, and then return the response that we've defined.
      */
     RequestProcessor requestProcessor = new RequestProcessor() {
+      @Override
       public Response execute(Request request) throws Exception {
         assertEquals(clientRequest, request);
         return clientResponse;
@@ -345,8 +353,10 @@
         network.getClientSocket().getInputStream(),
         network.getClientSocket().getOutputStream(), requestProcessor,
         new MessageTransport.ErrorCallback() {
+          @Override
           public void onResponseException(Exception e) {
           }
+          @Override
           public void onTermination(Exception e) {
           }
         });
@@ -392,6 +402,7 @@
      * the client side.
      */
     RequestProcessor requestProcessor = new RequestProcessor() {
+      @Override
       public Response execute(Request request) throws Exception {
         throw new Exception("There was an exception processing this request.");
       }
@@ -402,8 +413,10 @@
         network.getClientSocket().getInputStream(),
         network.getClientSocket().getOutputStream(), requestProcessor,
         new MessageTransport.ErrorCallback() {
+          @Override
           public void onResponseException(Exception e) {
           }
+          @Override
           public void onTermination(Exception e) {
           }
         });
diff --git a/dev/core/test/com/google/gwt/dev/typeinfo/test/InteractiveTypeOracle.java b/dev/core/test/com/google/gwt/dev/typeinfo/test/InteractiveTypeOracle.java
index 7073fa7..7691e1b 100644
--- a/dev/core/test/com/google/gwt/dev/typeinfo/test/InteractiveTypeOracle.java
+++ b/dev/core/test/com/google/gwt/dev/typeinfo/test/InteractiveTypeOracle.java
@@ -161,10 +161,12 @@
 
   private final CommandHandler cmdAllTypes = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "all-types";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments expected", null);
@@ -187,6 +189,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return false;
     }
@@ -194,10 +197,12 @@
 
   private final CommandHandler cmdHelp = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "help";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       TreeLogger sublogger = null;
       Set<String> keySet = handlers.keySet();
@@ -212,6 +217,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return false;
     }
@@ -219,10 +225,12 @@
 
   private final CommandHandler cmdSelectType = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "select";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 1) {
         logger.log(TreeLogger.WARN, "Expected a type name", null);
@@ -243,6 +251,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return false;
     }
@@ -250,10 +259,12 @@
 
   private final CommandHandler cmdSubtypes = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "subtypes";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments expected", null);
@@ -280,6 +291,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
@@ -287,10 +299,12 @@
 
   private final CommandHandler cmdFields = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "fields";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments expected", null);
@@ -315,6 +329,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
@@ -322,10 +337,12 @@
 
   private final CommandHandler cmdMethods = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "methods";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments expected", null);
@@ -350,6 +367,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
@@ -357,10 +375,12 @@
 
   private final CommandHandler cmdNested = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "nested";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments expected", null);
@@ -385,6 +405,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
@@ -392,10 +413,12 @@
 
   private final CommandHandler cmdParse = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "parse";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length == 0) {
         logger.log(TreeLogger.WARN, "At least one argument expected", null);
@@ -426,6 +449,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return false;
     }
@@ -433,10 +457,12 @@
 
   private final CommandHandler cmdEnclosing = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "enclosing";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments", null);
@@ -455,6 +481,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
@@ -462,10 +489,12 @@
 
   private final CommandHandler cmdConstructors = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "ctors";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments", null);
@@ -490,6 +519,7 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
@@ -497,10 +527,12 @@
 
   private final CommandHandler cmdOverloads = new CommandHandler() {
 
+    @Override
     public String getCommandToken() {
       return "overloads";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 1) {
         logger.log(TreeLogger.WARN, "One argument is expected", null);
@@ -526,16 +558,19 @@
       return true;
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
   };
 
   private final CommandHandler cmdSupertypes = new CommandHandler() {
+    @Override
     public String getCommandToken() {
       return "supertypes";
     }
 
+    @Override
     public boolean process(TreeLogger logger, String[] args) {
       if (args.length != 0) {
         logger.log(TreeLogger.WARN, "No arguments", null);
@@ -572,6 +607,7 @@
       }
     }
 
+    @Override
     public boolean requiresCurrentType() {
       return true;
     }
diff --git a/dev/core/test/com/google/gwt/dev/util/editdistance/GeneralEditDistanceTest.java b/dev/core/test/com/google/gwt/dev/util/editdistance/GeneralEditDistanceTest.java
index b0d9afe..62e4017 100644
--- a/dev/core/test/com/google/gwt/dev/util/editdistance/GeneralEditDistanceTest.java
+++ b/dev/core/test/com/google/gwt/dev/util/editdistance/GeneralEditDistanceTest.java
@@ -88,6 +88,7 @@
   public static class GenericLevenshteinTest extends AbstractLevenshteinTestCase {
     public GenericLevenshteinTest() {
       super(new Factory() {
+          @Override
           public GeneralEditDistance getInstance(CharSequence s1) {
             return GeneralEditDistances.getLevenshteinDistance(s1);
           }
diff --git a/dev/core/test/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistanceTest.java b/dev/core/test/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistanceTest.java
index bed7b27..be95e82 100644
--- a/dev/core/test/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistanceTest.java
+++ b/dev/core/test/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistanceTest.java
@@ -41,6 +41,7 @@
     }
   }
   private static class Factory implements GeneralEditDistanceTest.Factory {
+    @Override
     public GeneralEditDistance getInstance(CharSequence s) {
       return ModifiedBerghelRoachEditDistance.getInstance(s.toString());
     }
diff --git a/dev/core/test/org/apache/commons/collections/BulkTest.java b/dev/core/test/org/apache/commons/collections/BulkTest.java
index 7c5abad..eb60e85 100644
--- a/dev/core/test/org/apache/commons/collections/BulkTest.java
+++ b/dev/core/test/org/apache/commons/collections/BulkTest.java
@@ -174,6 +174,7 @@
      *
      *  @return  a clone of this <code>BulkTest</code>
      */
+    @Override
     public Object clone() {
         try {
             return super.clone();
@@ -226,6 +227,7 @@
      *
      *  @return the display name of this <code>BulkTest</code>
      */
+    @Override
     public String toString() {
         return getName() + "(" + verboseName + ") ";
     }
diff --git a/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java b/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java
index 1c3bbeb..36f248c 100644
--- a/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java
+++ b/dev/core/test/org/apache/commons/collections/collection/AbstractTestCollection.java
@@ -234,6 +234,7 @@
      * Returns true to indicate that the collection supports equals() comparisons.
      * This implementation returns false;
      */
+    @Override
     public boolean isEqualsCheckable() {
         return false;
     }
@@ -375,6 +376,7 @@
     /**
      *  Returns an empty collection for Object tests.
      */
+    @Override
     public Object makeObject() {
         return makeCollection();
     }
@@ -1301,6 +1303,7 @@
         }
     }
 
+    @Override
     public void testSerializeDeserializeThenCompare() throws Exception {
         Object obj = makeCollection();
         if (obj instanceof Serializable && isTestSerialization()) {
diff --git a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java
index a9ce434..4948fc8 100644
--- a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java
+++ b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestIterator.java
@@ -67,6 +67,7 @@
      * 
      * @return a full iterator
      */
+    @Override
     public Object makeObject() {
         return makeFullIterator();
     }
diff --git a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java
index b5e7e01..2086989 100644
--- a/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java
+++ b/dev/core/test/org/apache/commons/collections/iterators/AbstractTestMapIterator.java
@@ -85,6 +85,7 @@
      * 
      * @return an empty iterator
      */
+    @Override
     public final Iterator makeEmptyIterator() {
         return makeEmptyMapIterator();
     }
@@ -94,6 +95,7 @@
      * 
      * @return a full iterator
      */
+    @Override
     public final Iterator makeFullIterator() {
         return makeFullMapIterator();
     }
@@ -254,6 +256,7 @@
     }
 
     //-----------------------------------------------------------------------
+    @Override
     public void testRemove() { // override
         MapIterator it = makeFullMapIterator();
         Map map = getMap();
diff --git a/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java b/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java
index a9d1250..525bc82 100644
--- a/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java
+++ b/dev/core/test/org/apache/commons/collections/map/AbstractTestIterableMap.java
@@ -118,42 +118,51 @@
             super("InnerTestMapIterator");
         }
         
+        @Override
         public Object[] addSetValues() {
             return AbstractTestIterableMap.this.getNewSampleValues();
         }
         
+        @Override
         public boolean supportsRemove() {
             return AbstractTestIterableMap.this.isRemoveSupported();
         }
         
+        @Override
         public boolean isGetStructuralModify() {
             return AbstractTestIterableMap.this.isGetStructuralModify();
         }
 
+        @Override
         public boolean supportsSetValue() {
             return AbstractTestIterableMap.this.isSetValueSupported();
         }
 
+        @Override
         public MapIterator makeEmptyMapIterator() {
             resetEmpty();
             return ((IterableMap) AbstractTestIterableMap.this.map).mapIterator();
         }
 
+        @Override
         public MapIterator makeFullMapIterator() {
             resetFull();
             return ((IterableMap) AbstractTestIterableMap.this.map).mapIterator();
         }
         
+        @Override
         public Map getMap() {
             // assumes makeFullMapIterator() called first
             return AbstractTestIterableMap.this.map;
         }
         
+        @Override
         public Map getConfirmedMap() {
             // assumes makeFullMapIterator() called first
             return AbstractTestIterableMap.this.confirmed;
         }
         
+        @Override
         public void verify() {
             super.verify();
             AbstractTestIterableMap.this.verify();
diff --git a/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java b/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java
index 3d4668f..e44b534 100644
--- a/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java
+++ b/dev/core/test/org/apache/commons/collections/map/AbstractTestMap.java
@@ -420,6 +420,7 @@
      * 
      * @return the map to be tested
      */
+    @Override
     public Object makeObject() {
         return makeEmptyMap();
     }
@@ -445,6 +446,7 @@
     /**
      * Gets the compatability version, needed for package access.
      */
+    @Override
     public String getCompatibilityVersion() {
         return super.getCompatibilityVersion();
     }
@@ -1251,6 +1253,7 @@
         }
 
         // Have to implement manually; entrySet doesn't support addAll
+        @Override
         public Object[] getFullElements() {
             Object[] k = getSampleKeys();
             Object[] v = getSampleValues();
@@ -1258,24 +1261,29 @@
         }
         
         // Have to implement manually; entrySet doesn't support addAll
+        @Override
         public Object[] getOtherElements() {
             Object[] k = getOtherKeys();
             Object[] v = getOtherValues();
             return makeEntryArray(k, v);
         }
         
+        @Override
         public Set makeEmptySet() {
             return makeEmptyMap().entrySet();
         }
         
+        @Override
         public Set makeFullSet() {
             return makeFullMap().entrySet();
         }
         
+        @Override
         public boolean isAddSupported() {
             // Collection views don't support add operations.
             return false;
         }
+        @Override
         public boolean isRemoveSupported() {
             // Entry set should only support remove if map does
             return AbstractTestMap.this.isRemoveSupported();
@@ -1283,16 +1291,19 @@
         public boolean isGetStructuralModify() {
             return AbstractTestMap.this.isGetStructuralModify();
         }
+        @Override
         public boolean isTestSerialization() {
             return false;
         }
 
+        @Override
         public void resetFull() {
             AbstractTestMap.this.resetFull();
             collection = map.entrySet();
             TestMapEntrySet.this.confirmed = AbstractTestMap.this.confirmed.entrySet();
         }
         
+        @Override
         public void resetEmpty() {
             AbstractTestMap.this.resetEmpty();
             collection = map.entrySet();
@@ -1392,6 +1403,7 @@
             assertEquals(false, getSet().remove(new Object()));
         }
         
+        @Override
         public void verify() {
             super.verify();
             AbstractTestMap.this.verify();
@@ -1415,47 +1427,58 @@
         public TestMapKeySet() {
             super("");
         }
+        @Override
         public Object[] getFullElements() {
             return getSampleKeys();
         }
         
+        @Override
         public Object[] getOtherElements() {
             return getOtherKeys();
         }
         
+        @Override
         public Set makeEmptySet() {
             return makeEmptyMap().keySet();
         }
         
+        @Override
         public Set makeFullSet() {
             return makeFullMap().keySet();
         }
         
+        @Override
         public boolean isNullSupported() {
             return AbstractTestMap.this.isAllowNullKey();
         }
+        @Override
         public boolean isAddSupported() {
             return false;
         }
+        @Override
         public boolean isRemoveSupported() {
             return AbstractTestMap.this.isRemoveSupported();
         }
+        @Override
         public boolean isTestSerialization() {
             return false;
         }
         
+        @Override
         public void resetEmpty() {
             AbstractTestMap.this.resetEmpty();
             collection = map.keySet();
             TestMapKeySet.this.confirmed = AbstractTestMap.this.confirmed.keySet();
         }
         
+        @Override
         public void resetFull() {
             AbstractTestMap.this.resetFull();
             collection = map.keySet();
             TestMapKeySet.this.confirmed = AbstractTestMap.this.confirmed.keySet();
         }
         
+        @Override
         public void verify() {
             super.verify();
             AbstractTestMap.this.verify();
@@ -1481,63 +1504,77 @@
             super("");
         }
 
+        @Override
         public Object[] getFullElements() {
             return getSampleValues();
         }
         
+        @Override
         public Object[] getOtherElements() {
             return getOtherValues();
         }
         
+        @Override
         public Collection makeCollection() {
             return makeEmptyMap().values();
         }
         
+        @Override
         public Collection makeFullCollection() {
             return makeFullMap().values();
         }
         
+        @Override
         public boolean isNullSupported() {
             return AbstractTestMap.this.isAllowNullKey();
         }
+        @Override
         public boolean isAddSupported() {
             return false;
         }
+        @Override
         public boolean isRemoveSupported() {
             return AbstractTestMap.this.isRemoveSupported();
         }
+        @Override
         public boolean isTestSerialization() {
             return false;
         }
         
+        @Override
         public boolean areEqualElementsDistinguishable() {
             // equal values are associated with different keys, so they are
             // distinguishable.  
             return true;
         }
 
+        @Override
         public Collection makeConfirmedCollection() {
             // never gets called, reset methods are overridden
             return null;
         }
         
+        @Override
         public Collection makeConfirmedFullCollection() {
             // never gets called, reset methods are overridden
             return null;
         }
         
+        @Override
         public void resetFull() {
             AbstractTestMap.this.resetFull();
             collection = map.values();
             TestMapValues.this.confirmed = AbstractTestMap.this.confirmed.values();
         }
         
+        @Override
         public void resetEmpty() {
             AbstractTestMap.this.resetEmpty();
             collection = map.values();
             TestMapValues.this.confirmed = AbstractTestMap.this.confirmed.values();
         }
 
+        @Override
         public void verify() {
             super.verify();
             AbstractTestMap.this.verify();
@@ -1690,6 +1727,7 @@
     /**
      * Erases any leftover instance variables by setting them to null.
      */
+    @Override
     public void tearDown() throws Exception {
         map = null;
         keySet = null;
diff --git a/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java b/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java
index 532ac95..cd6cb91 100644
--- a/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java
+++ b/dev/core/test/org/apache/commons/collections/map/TestIdentityMap.java
@@ -56,10 +56,12 @@
 //        return BulkTest.makeSuite(TestIdentityMap.class);  // causes race condition!
     }
     
+    @Override
     public Object makeObject() {
         return new IdentityMap();
     }
     
+    @Override
     public String getCompatibilityVersion() {
         return "3";
     }
diff --git a/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java b/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java
index dc3a3d4..8cd1e33 100644
--- a/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java
+++ b/dev/core/test/org/apache/commons/collections/set/AbstractTestSet.java
@@ -59,6 +59,7 @@
     /**
      * Provides additional verifications for sets.
      */
+    @Override
     public void verify() {
         super.verify();
         
@@ -77,6 +78,7 @@
     /**
      * Set equals method is defined.
      */
+    @Override
     public boolean isEqualsCheckable() {
         return true;
     }
@@ -86,6 +88,7 @@
      *
      * @return a confirmed empty collection
      */
+    @Override
     public Collection makeConfirmedCollection() {
         return new HashSet();
     }
@@ -95,6 +98,7 @@
      *
      * @return a confirmed full collection
      */
+    @Override
     public Collection makeConfirmedFullCollection() {
         Collection set = makeConfirmedCollection();
         set.addAll(Arrays.asList(getFullElements()));
@@ -127,6 +131,7 @@
      *
      * @return an empty collection
      */
+    @Override
     public final Collection makeCollection() {
         return makeEmptySet();
     }
@@ -136,6 +141,7 @@
      *
      * @return a full collection
      */
+    @Override
     public final Collection makeFullCollection() {
         return makeFullSet();
     }
diff --git a/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java b/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java
index 7a14a27..001913e 100644
--- a/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java
+++ b/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java
@@ -48,6 +48,7 @@
       schedule(timeoutMillis);
     }
 
+    @Override
     public void run() {
       if (timer == this) {
         // The test has failed due to timeout
diff --git a/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java b/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java
index e8bc935..1794a96 100644
--- a/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java
+++ b/user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/impl/GWTRunner.java
@@ -47,6 +47,7 @@
     /**
      * Delegate to the {@link TestBlockListener}.
      */
+    @Override
     public void onFailure(Throwable caught) {
       testBlockListener.onFailure(caught);
     }
@@ -55,6 +56,7 @@
      * Update our client info with the server-provided session id then delegate
      * to the {@link TestBlockListener}.
      */
+    @Override
     public void onSuccess(InitialResponse result) {
       clientInfo = new ClientInfo(result.getSessionId(),
           clientInfo.getUserAgent());
@@ -77,6 +79,7 @@
     /**
      * A call to junitHost failed.
      */
+    @Override
     public void onFailure(Throwable caught) {
       if (maxRetryCount < 0 || curRetryCount < maxRetryCount) {
         reportWarning("Retrying syncing back to junit backend. (Exception: " + caught + ")");
@@ -96,6 +99,7 @@
     /**
      * A call to junitHost succeeded; run the next test case.
      */
+    @Override
     public void onSuccess(TestBlock nextTestBlock) {
       curRetryCount = 0;
       currentBlock = nextTestBlock;
@@ -209,6 +213,7 @@
     GWT.setUncaughtExceptionHandler(null);
   }
 
+  @Override
   public void onModuleLoad() {
     testAccessor = new GWTTestAccessor();
     clientInfo = new ClientInfo(parseQueryParamInteger(SESSIONID_QUERY_PARAM, -1), getUserAgent());
@@ -249,6 +254,7 @@
     if (currentTestIndex < currentBlock.getTests().length) {
       // Run the next test after a short delay.
       Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
+        @Override
         public void execute() {
           doRunTest();
         }
diff --git a/user/super/com/google/gwt/junit/translatable/junit/framework/TestCase.java b/user/super/com/google/gwt/junit/translatable/junit/framework/TestCase.java
index a27dac7..77193d5 100644
--- a/user/super/com/google/gwt/junit/translatable/junit/framework/TestCase.java
+++ b/user/super/com/google/gwt/junit/translatable/junit/framework/TestCase.java
@@ -22,6 +22,7 @@
 
   private String name;
 
+  @Override
   public int countTestCases() {
     return 1;
   }
@@ -47,6 +48,7 @@
     this.name = name;
   }
 
+  @Override
   public String toString() {
     return getName() + "(" + this.getClass().getName() + ")";
   }
diff --git a/user/super/com/google/gwt/junit/translatable/junit/framework/TestSuite.java b/user/super/com/google/gwt/junit/translatable/junit/framework/TestSuite.java
index 37c05f8..913afe1 100644
--- a/user/super/com/google/gwt/junit/translatable/junit/framework/TestSuite.java
+++ b/user/super/com/google/gwt/junit/translatable/junit/framework/TestSuite.java
@@ -71,6 +71,7 @@
   public void addTestSuite(Class<? extends TestCase> testClass) {
   }
 
+  @Override
   public int countTestCases() {
     return 0;
   }
diff --git a/user/super/com/google/gwt/user/translatable/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java b/user/super/com/google/gwt/user/translatable/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java
index c093e8e..9d2911d 100644
--- a/user/super/com/google/gwt/user/translatable/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java
+++ b/user/super/com/google/gwt/user/translatable/com/google/gwt/user/client/rpc/core/java/util/LinkedHashMap_CustomFieldSerializer.java
@@ -57,6 +57,7 @@
     return instance.@java.util.LinkedHashMap::accessOrder;
   }-*/;
 
+  @Override
   public void deserializeInstance(SerializationStreamReader streamReader,
       LinkedHashMap instance) throws SerializationException {
     deserialize(streamReader, instance);
@@ -73,6 +74,7 @@
     return instantiate(streamReader);
   }
 
+  @Override
   public void serializeInstance(SerializationStreamWriter streamWriter,
       LinkedHashMap instance) throws SerializationException {
     serialize(streamWriter, instance);
diff --git a/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java b/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java
index 7b98368..7cd7c09 100644
--- a/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java
+++ b/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java
@@ -69,6 +69,7 @@
   private static class MyDisplay implements AcceptsOneWidget {
     IsWidget widget = null;
 
+    @Override
     public void setWidget(IsWidget widget) {
       this.widget = widget;
     }
@@ -78,6 +79,7 @@
   }
 
   private static class MyView implements IsWidget {
+    @Override
     public Widget asWidget() {
       return null;
     }
@@ -94,18 +96,22 @@
       this.view = view;
     }
 
+    @Override
     public String mayStop() {
       return stopWarning;
     }
 
+    @Override
     public void onCancel() {
       canceled = true;
     }
 
+    @Override
     public void onStop() {
       stopped = true;
     }
 
+    @Override
     public void start(AcceptsOneWidget display, EventBus eventBus) {
       this.display = display;
       this.bus = eventBus;
@@ -122,6 +128,7 @@
 
   private final MyDisplay realDisplay = new MyDisplay();
   private final ActivityMapper myMap = new ActivityMapper() {
+    @Override
     public Activity getActivity(Place place) {
       if (place.equals(place1)) {
         return activity1;
@@ -144,6 +151,7 @@
     final AsyncActivity asyncActivity2 = new AsyncActivity(new MyView());
 
     ActivityMapper map = new ActivityMapper() {
+      @Override
       public Activity getActivity(Place place) {
         if (place.equals(place1)) {
           return asyncActivity1;
@@ -175,6 +183,7 @@
     final AsyncActivity asyncActivity2 = new AsyncActivity(new MyView());
 
     ActivityMapper map = new ActivityMapper() {
+      @Override
       public Activity getActivity(Place place) {
         if (place.equals(place1)) {
           return asyncActivity1;
@@ -237,6 +246,7 @@
     final AsyncActivity ayncActivity2 = new AsyncActivity(new MyView());
 
     ActivityMapper map = new ActivityMapper() {
+      @Override
       public Activity getActivity(Place place) {
         if (place.equals(place1)) {
           return asyncActivity1;
@@ -457,6 +467,7 @@
     final AsyncActivity asyncActivity2 = new AsyncActivity(new MyView());
 
     ActivityMapper map = new ActivityMapper() {
+      @Override
       public Activity getActivity(Place place) {
         if (place.equals(place1)) {
           return asyncActivity1;
@@ -558,6 +569,7 @@
     final TwoViewActivity activity = new TwoViewActivity(new MyView(), new MyView());
     
     ActivityMapper map = new ActivityMapper() {
+      @Override
       public Activity getActivity(Place place) {
         return activity;
       }
diff --git a/user/test/com/google/gwt/cell/client/ActionCellTest.java b/user/test/com/google/gwt/cell/client/ActionCellTest.java
index 2ad8372..8de3e11 100644
--- a/user/test/com/google/gwt/cell/client/ActionCellTest.java
+++ b/user/test/com/google/gwt/cell/client/ActionCellTest.java
@@ -36,6 +36,7 @@
       assertEquals(expected, lastObject);
     }
 
+    @Override
     public void execute(T object) {
       assertNull(lastObject);
       lastObject = object;
diff --git a/user/test/com/google/gwt/cell/client/CellTestBase.java b/user/test/com/google/gwt/cell/client/CellTestBase.java
index 15381f5..89cee98 100644
--- a/user/test/com/google/gwt/cell/client/CellTestBase.java
+++ b/user/test/com/google/gwt/cell/client/CellTestBase.java
@@ -108,6 +108,7 @@
       lastValue = null;
     }
 
+    @Override
     public void update(T value) {
       assertNull(lastValue);
       assertNotNull(value);
@@ -273,6 +274,7 @@
     // Pass the event to the cell.
     final MockValueUpdater valueUpdater = new MockValueUpdater();
     Event.setEventListener(parent, new EventListener() {
+      @Override
       public void onBrowserEvent(Event event) {
         try {
           DOM.setEventListener(parent, null);
diff --git a/user/test/com/google/gwt/cell/client/CompositeCellTest.java b/user/test/com/google/gwt/cell/client/CompositeCellTest.java
index dd92cc4..4c1a4e1 100644
--- a/user/test/com/google/gwt/cell/client/CompositeCellTest.java
+++ b/user/test/com/google/gwt/cell/client/CompositeCellTest.java
@@ -110,6 +110,7 @@
 
     // Add an event listener.
     EventListener listener = new EventListener() {
+      @Override
       public void onBrowserEvent(Event event) {
         Context context = new Context(3, 4, "key");
         cell.onBrowserEvent(context, parent, "test-x", event, null);
@@ -188,14 +189,17 @@
    */
   private void addCell(final Cell<String> cell, List<HasCell<String, ?>> cells) {
     cells.add(new HasCell<String, String>() {
+      @Override
       public Cell<String> getCell() {
         return cell;
       }
 
+      @Override
       public FieldUpdater<String, String> getFieldUpdater() {
         return null;
       }
 
+      @Override
       public String getValue(String object) {
         return object;
       }
@@ -214,14 +218,17 @@
       final int index = i;
       final MockCell<String> inner = new MockCell<String>(false, "fromCell" + i);
       cells.add(new HasCell<String, String>() {
+        @Override
         public Cell<String> getCell() {
           return inner;
         }
 
+        @Override
         public FieldUpdater<String, String> getFieldUpdater() {
           return null;
         }
 
+        @Override
         public String getValue(String object) {
           return object == null ? null : object + "-" + index;
         }
diff --git a/user/test/com/google/gwt/cell/client/EditableCellTestBase.java b/user/test/com/google/gwt/cell/client/EditableCellTestBase.java
index 6d80338..00ce8a8 100644
--- a/user/test/com/google/gwt/cell/client/EditableCellTestBase.java
+++ b/user/test/com/google/gwt/cell/client/EditableCellTestBase.java
@@ -95,6 +95,7 @@
     final AbstractEditableCell<T, V> cell = createCell();
     cell.setViewData(DEFAULT_KEY, viewData);
     Event.setEventListener(parent, new EventListener() {
+      @Override
       public void onBrowserEvent(Event event) {
         try {
           DOM.setEventListener(parent, null);
diff --git a/user/test/com/google/gwt/core/client/HttpThrowableReporterTest.java b/user/test/com/google/gwt/core/client/HttpThrowableReporterTest.java
index 58ccfa0..6e9fafe 100644
--- a/user/test/com/google/gwt/core/client/HttpThrowableReporterTest.java
+++ b/user/test/com/google/gwt/core/client/HttpThrowableReporterTest.java
@@ -38,6 +38,7 @@
     }-*/;
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.core.Core";
   }
diff --git a/user/test/com/google/gwt/core/client/SchedulerTest.java b/user/test/com/google/gwt/core/client/SchedulerTest.java
index 72928cd..e022a05 100644
--- a/user/test/com/google/gwt/core/client/SchedulerTest.java
+++ b/user/test/com/google/gwt/core/client/SchedulerTest.java
@@ -38,6 +38,7 @@
     final boolean[] ranEntry = {false};
 
     final ScheduledCommand finallyCommand = new ScheduledCommand() {
+      @Override
       public void execute() {
         assertTrue(ranEntry[0]);
         finishTest();
@@ -45,6 +46,7 @@
     };
 
     Scheduler.get().scheduleEntry(new ScheduledCommand() {
+      @Override
       public void execute() {
         ranEntry[0] = true;
         Scheduler.get().scheduleFinally(finallyCommand);
@@ -52,6 +54,7 @@
     });
 
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         assertTrue(ranEntry[0]);
       }
diff --git a/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java b/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
index d1ebd8e..6f5acaf 100644
--- a/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
+++ b/user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
@@ -40,6 +40,7 @@
       return wasCalled;
     }
 
+    @Override
     public void loadTerminated(Throwable reason) {
       wasCalled = true;
     }
@@ -60,6 +61,7 @@
       }
     }
 
+    @Override
     public void startLoadingFragment(int fragment,
         LoadTerminatedHandler loadErrorHandler) {
       errorHandlers.put(fragment, loadErrorHandler);
@@ -128,6 +130,7 @@
           + events.size(), events.size() == 0);
     }
 
+    @Override
     public void logEventProgress(String eventGroup, String type,
         int fragment, int size) {
       events.add(new MockProgressEvent(eventGroup, type, fragment));
@@ -139,6 +142,7 @@
   private static final String LEFTOVERS_DOWNLOAD = "leftoversDownload";
 
   private static final LoadTerminatedHandler NULL_ERROR_HANDLER = new LoadTerminatedHandler() {
+    @Override
     public void loadTerminated(Throwable reason) {
     }
   };
diff --git a/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java b/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java
index 86a4abd..b12ad05 100644
--- a/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java
+++ b/user/test/com/google/gwt/core/client/impl/SchedulerImplTest.java
@@ -34,6 +34,7 @@
       this.values = values;
     }
 
+    @Override
     public void execute() {
       values[0] = true;
     }
@@ -47,6 +48,7 @@
       this.values = values;
     }
 
+    @Override
     public boolean execute() {
       assertTrue("Called too many times", values[0] < values[1]);
       values[0] = values[0] + 1;
@@ -58,6 +60,7 @@
    * A no-op command used to test internal datastructures.
    */
   static class NullCommand implements ScheduledCommand {
+    @Override
     public void execute() {
     }
   }
@@ -113,6 +116,7 @@
     assertSame(nullCommand, impl.deferredCommands.get(1).getScheduled());
 
     impl.scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         assertTrue(values[0]);
         assertNull(impl.deferredCommands);
@@ -166,18 +170,22 @@
     final SchedulerImpl impl = new SchedulerImpl();
 
     testQueue(new QueueTester() {
+      @Override
       public void flush() {
         impl.flushEntryCommands();
       }
 
+      @Override
       public JsArray<Task> queue() {
         return impl.entryCommands;
       }
 
+      @Override
       public void schedule(RepeatingCommand cmd) {
         impl.scheduleEntry(cmd);
       }
 
+      @Override
       public void schedule(ScheduledCommand cmd) {
         impl.scheduleEntry(cmd);
       }
@@ -188,18 +196,22 @@
     final SchedulerImpl impl = new SchedulerImpl();
 
     testQueue(new QueueTester() {
+      @Override
       public void flush() {
         impl.flushFinallyCommands();
       }
 
+      @Override
       public JsArray<Task> queue() {
         return impl.finallyCommands;
       }
 
+      @Override
       public void schedule(RepeatingCommand cmd) {
         impl.scheduleFinally(cmd);
       }
 
+      @Override
       public void schedule(ScheduledCommand cmd) {
         impl.scheduleFinally(cmd);
       }
@@ -216,6 +228,7 @@
 
     // Busy wait for the counter
     impl.scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         if (values[0] == values[1]) {
           finishTest();
@@ -238,6 +251,7 @@
 
     // Busy wait for the counter
     impl.scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         if (values[0] == values[1]) {
           finishTest();
@@ -261,6 +275,7 @@
     assertEquals(1, impl.deferredCommands.length());
 
     impl.scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         // After the incremental command has fired, it's moved to a new queue
         assertNull(impl.deferredCommands);
@@ -293,6 +308,7 @@
     impl.schedule(new ArraySetterCommand(oneShotValues));
     impl.schedule(new CountingCommand(counterValues));
     impl.schedule(new ScheduledCommand() {
+      @Override
       public void execute() {
         // Schedule another entry
         impl.schedule(new ArraySetterCommand(chainedValues));
diff --git a/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java b/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java
index 064fa7a..38e9d73 100644
--- a/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java
+++ b/user/test/com/google/gwt/core/ext/linker/impl/SelectionScriptLinkerUnitTest.java
@@ -42,30 +42,37 @@
 public class SelectionScriptLinkerUnitTest extends TestCase {
   private static class MockLinkerContext implements LinkerContext {
 
+    @Override
     public SortedSet<ConfigurationProperty> getConfigurationProperties() {
       return new TreeSet<ConfigurationProperty>();
     }
 
+    @Override
     public String getModuleFunctionName() {
       return MOCK_MODULE_NAME;
     }
 
+    @Override
     public long getModuleLastModified() {
       return MOCK_MODULE_LAST_MODIFIED;
     }
 
+    @Override
     public String getModuleName() {
       return MOCK_MODULE_NAME;
     }
 
+    @Override
     public SortedSet<SelectionProperty> getProperties() {
       return new TreeSet<SelectionProperty>();
     }
 
+    @Override
     public boolean isOutputCompact() {
       return true;
     }
 
+    @Override
     public String optimizeJavaScript(TreeLogger logger, String jsProgram) {
       return jsProgram;
     }
diff --git a/user/test/com/google/gwt/core/ext/test/SourceMapTest.java b/user/test/com/google/gwt/core/ext/test/SourceMapTest.java
index 55e75ef..fb0b575 100644
--- a/user/test/com/google/gwt/core/ext/test/SourceMapTest.java
+++ b/user/test/com/google/gwt/core/ext/test/SourceMapTest.java
@@ -201,6 +201,7 @@
       return ++counter;
     }
 
+    @Override
     public String toString() {
       return jsniIdent + " -> " + jsName;
     }
diff --git a/user/test/com/google/gwt/dev/cfg/SourceTagTest.java b/user/test/com/google/gwt/dev/cfg/SourceTagTest.java
index 70bda16..bdea26a 100644
--- a/user/test/com/google/gwt/dev/cfg/SourceTagTest.java
+++ b/user/test/com/google/gwt/dev/cfg/SourceTagTest.java
@@ -34,6 +34,7 @@
    * Return the logical path for a given class. For example, java.lang.Object's
    * logical path would be java/lang/Object.
    */
+  @Override
   protected String getLogicalPath(Class<?> clazz) {
     return clazz.getCanonicalName();
   }
diff --git a/user/test/com/google/gwt/dev/cfg/SuperSourceTagTest.java b/user/test/com/google/gwt/dev/cfg/SuperSourceTagTest.java
index 80cedff..534583c 100644
--- a/user/test/com/google/gwt/dev/cfg/SuperSourceTagTest.java
+++ b/user/test/com/google/gwt/dev/cfg/SuperSourceTagTest.java
@@ -34,6 +34,7 @@
    * Return the logical path for a given class.  For super source, the logical
    * path does not include the path component from the tag.
    */
+  @Override
   protected String getLogicalPath(Class<?> clazz) {
     String name = clazz.getCanonicalName();
     name = name.substring(getClass().getPackage().getName().length() + 1);
diff --git a/user/test/com/google/gwt/dev/jjs/scriptonly/ScriptOnlyTest.java b/user/test/com/google/gwt/dev/jjs/scriptonly/ScriptOnlyTest.java
index c1b5389..332421b 100644
--- a/user/test/com/google/gwt/dev/jjs/scriptonly/ScriptOnlyTest.java
+++ b/user/test/com/google/gwt/dev/jjs/scriptonly/ScriptOnlyTest.java
@@ -64,10 +64,12 @@
     assertTrue(b.callCodeNotInSourcePath());
 
     b.callCallback(new AsyncCallback<ScriptOnlyClass>() {
+      @Override
       public void onFailure(Throwable caught) {
         fail(caught.getMessage());
       }
 
+      @Override
       public void onSuccess(ScriptOnlyClass result) {
         assertSame(b, result);
       }
diff --git a/user/test/com/google/gwt/dev/jjs/test/AnnotationsTest.java b/user/test/com/google/gwt/dev/jjs/test/AnnotationsTest.java
index 2095807..367478b 100644
--- a/user/test/com/google/gwt/dev/jjs/test/AnnotationsTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/AnnotationsTest.java
@@ -25,14 +25,17 @@
 public class AnnotationsTest extends GWTTestCase {
 
   private static class Foo implements IFoo {
+    @Override
     public Class<? extends Annotation> annotationType() {
       return IFoo.class;
     }
 
+    @Override
     public NestedEnum value() {
       return IFoo.NestedEnum.FOO2;
     }
 
+    @Override
     public Class<? extends NestedEnum> valueClass() {
       return IFoo.NestedEnum.class;
     }
@@ -50,6 +53,7 @@
     Class<? extends NestedEnum> valueClass() default com.google.gwt.dev.jjs.test.AnnotationsTest.IFoo.NestedEnum.class;
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/BlankInterfaceTest.java b/user/test/com/google/gwt/dev/jjs/test/BlankInterfaceTest.java
index c3ad696..78f2866 100644
--- a/user/test/com/google/gwt/dev/jjs/test/BlankInterfaceTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/BlankInterfaceTest.java
@@ -23,6 +23,7 @@
 public class BlankInterfaceTest extends GWTTestCase implements
     NoMethodsOrFields {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java b/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
index 05a789b..4a6e1f6 100644
--- a/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/CompilerTest.java
@@ -36,6 +36,7 @@
   interface Silly { }
 
   interface SillyComparable<T extends Silly> extends Comparable<T> {
+    @Override
     int compareTo(T obj);
   }
 
@@ -60,6 +61,7 @@
 
   private static class Bm2KeyNav<E extends Bm2ComponentEvent> implements
       Bm2Listener<E> {
+    @Override
     public int handleEvent(Bm2ComponentEvent ce) {
       return 5;
     }
@@ -431,6 +433,7 @@
    */
   public void testBridgeMethods4() {
     abstract class MyMapAbstract<V> implements MyMap {
+      @Override
       public String get(String key) {
         return null;
       }
diff --git a/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java b/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java
index 4feb3f7..fa0da33 100644
--- a/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/CoverageTest.java
@@ -46,6 +46,7 @@
       super(i);
     }
 
+    @Override
     public void foo() {
       final int z = this.y;
 
@@ -61,6 +62,7 @@
           CoverageTest.super.x = z;
         }
 
+        @Override
         public void foo() {
           x = z;
           this.x = z;
@@ -74,6 +76,7 @@
       };
 
       class NamedLocal extends Inner {
+        @Override
         @SuppressWarnings("unused")
         public void foo() {
           CoverageTest.this.getNext();
@@ -85,6 +88,7 @@
         // JDT bug? This works in 5.0 but not in 1.4
         // TODO: will javac compile it?
         class NamedLocalSub extends NamedLocal {
+          @Override
           @SuppressWarnings("unused")
           public void foo() {
             Inner.this.bar();
@@ -758,6 +762,7 @@
     public void foo() {
     }
 
+    @Override
     public String toString() {
       return String.valueOf(x);
     }
@@ -869,9 +874,11 @@
     next = this;
   }
 
+  @Override
   public void foo() {
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/EnhancedForLoopTest.java b/user/test/com/google/gwt/dev/jjs/test/EnhancedForLoopTest.java
index e8688b7..09bb89e 100644
--- a/user/test/com/google/gwt/dev/jjs/test/EnhancedForLoopTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/EnhancedForLoopTest.java
@@ -26,6 +26,7 @@
  */
 public class EnhancedForLoopTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/EnumsWithNameObfuscationTest.java b/user/test/com/google/gwt/dev/jjs/test/EnumsWithNameObfuscationTest.java
index 44cdb48..1f23822 100644
--- a/user/test/com/google/gwt/dev/jjs/test/EnumsWithNameObfuscationTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/EnumsWithNameObfuscationTest.java
@@ -34,6 +34,7 @@
     APPLE, BERRY, CHERRY
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.EnumsWithNameObfuscationSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/GenericCastTest.java b/user/test/com/google/gwt/dev/jjs/test/GenericCastTest.java
index 228c759..2c67b36 100644
--- a/user/test/com/google/gwt/dev/jjs/test/GenericCastTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/GenericCastTest.java
@@ -42,6 +42,7 @@
   static class LiarFoo extends Liar<Foo> {
     public void testOuterField() {
       new Runnable() {
+        @Override
         public void run() {
           // Should succeed
           Object a = value;
@@ -67,6 +68,7 @@
 
     public void testOuterMethod() {
       new Runnable() {
+        @Override
         public void run() {
           // Should succeed
           Object a = get();
@@ -134,6 +136,7 @@
 
     void testInternalAccess() {
       new Runnable() {
+        @Override
         public void run() {
           Object a = get();
           try {
@@ -181,6 +184,7 @@
     }
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/GwtIncompatibleTest.java b/user/test/com/google/gwt/dev/jjs/test/GwtIncompatibleTest.java
index 3eb10b5..7e871c3 100644
--- a/user/test/com/google/gwt/dev/jjs/test/GwtIncompatibleTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/GwtIncompatibleTest.java
@@ -104,6 +104,7 @@
     assertNull(instance);
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/InitialLoadSequenceTest.java b/user/test/com/google/gwt/dev/jjs/test/InitialLoadSequenceTest.java
index 39a2ff7..e9f648b 100644
--- a/user/test/com/google/gwt/dev/jjs/test/InitialLoadSequenceTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/InitialLoadSequenceTest.java
@@ -54,10 +54,12 @@
 
   private void callback1() {
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable reason) {
         fail(reason.toString());
       }
 
+      @Override
       public void onSuccess() {
         countCallback();
       }
@@ -66,10 +68,12 @@
 
   private void callback2() {
     GWT.runAsync(Callback2Marker.class, new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable reason) {
         fail(reason.toString());
       }
 
+      @Override
       public void onSuccess() {
         countCallback();
       }
@@ -78,10 +82,12 @@
 
   private void callback3() {
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable reason) {
         fail(reason.toString());
       }
 
+      @Override
       public void onSuccess() {
         countCallback();
       }
diff --git a/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java b/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java
index 9b8e651..ba17374 100644
--- a/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/InnerClassTest.java
@@ -172,6 +172,7 @@
 
   private StringBuffer testAppend = new StringBuffer();
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
@@ -225,6 +226,7 @@
     List<AppendToStringBuffer> results = new ArrayList<AppendToStringBuffer>();
     for (int i = 0; i < 10; i++) {
       AppendToStringBuffer ap = new AppendToStringBuffer(i) {
+        @Override
         public void act() {
           b.append(num);
           testAppend.append(num);
diff --git a/user/test/com/google/gwt/dev/jjs/test/InnerOuterSuperTest.java b/user/test/com/google/gwt/dev/jjs/test/InnerOuterSuperTest.java
index d949d02..75c0538 100644
--- a/user/test/com/google/gwt/dev/jjs/test/InnerOuterSuperTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/InnerOuterSuperTest.java
@@ -46,6 +46,7 @@
         super(i);
       }
 
+      @Override
       public int checkDispatch() {
         return 2;
       }
@@ -100,6 +101,7 @@
 
   private final Outer.OuterIsSuper outerIsSuper = outer.new OuterIsSuper(2);
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/JavaAccessFromJavaScriptTest.java b/user/test/com/google/gwt/dev/jjs/test/JavaAccessFromJavaScriptTest.java
index f70201f..5f48078 100644
--- a/user/test/com/google/gwt/dev/jjs/test/JavaAccessFromJavaScriptTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/JavaAccessFromJavaScriptTest.java
@@ -30,6 +30,7 @@
       return x + 1.01;
     }
 
+    @Override
     public int addOne(int x) {
       return x + 1;
     }
diff --git a/user/test/com/google/gwt/dev/jjs/test/JsniConstructorTest.java b/user/test/com/google/gwt/dev/jjs/test/JsniConstructorTest.java
index 485a345..1d8a337 100644
--- a/user/test/com/google/gwt/dev/jjs/test/JsniConstructorTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/JsniConstructorTest.java
@@ -51,21 +51,26 @@
     static void s2() {
     }
 
+    @Override
     public void a1() {
     }
 
+    @Override
     public void a2() {
     }
 
+    @Override
     public void a3() {
     }
 
+    @Override
     public void c1() {
     }
 
     public void c2() {
     }
 
+    @Override
     public String toString() {
       return "";
     }
diff --git a/user/test/com/google/gwt/dev/jjs/test/MemberShadowingTest.java b/user/test/com/google/gwt/dev/jjs/test/MemberShadowingTest.java
index 45f1f6f..25c6f10 100644
--- a/user/test/com/google/gwt/dev/jjs/test/MemberShadowingTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/MemberShadowingTest.java
@@ -78,6 +78,7 @@
     void f();
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/MethodBindTest.java b/user/test/com/google/gwt/dev/jjs/test/MethodBindTest.java
index 45f2e83..5dbcab7 100644
--- a/user/test/com/google/gwt/dev/jjs/test/MethodBindTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/MethodBindTest.java
@@ -27,6 +27,7 @@
    */
   private static abstract class Abstract implements Go {
     private final class Nested implements Go {
+      @Override
       public void go() {
         result = "wrong";
       }
@@ -37,6 +38,7 @@
     }
 
     private final class Nested2 extends Abstract {
+      @Override
       public void go() {
         result = "wrong";
       }
@@ -56,6 +58,7 @@
   }
 
   private final class Concrete extends Abstract {
+    @Override
     public void go() {
       result = "right";
     }
@@ -67,6 +70,7 @@
 
   private static String result;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/MethodCallTest.java b/user/test/com/google/gwt/dev/jjs/test/MethodCallTest.java
index 38d5c6c..bdfed10 100644
--- a/user/test/com/google/gwt/dev/jjs/test/MethodCallTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/MethodCallTest.java
@@ -118,6 +118,7 @@
 
   private int value;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/MethodInterfaceTest.java b/user/test/com/google/gwt/dev/jjs/test/MethodInterfaceTest.java
index 9304c82..968f7ab 100644
--- a/user/test/com/google/gwt/dev/jjs/test/MethodInterfaceTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/MethodInterfaceTest.java
@@ -22,21 +22,26 @@
  */
 public class MethodInterfaceTest extends GWTTestCase implements MethodsOnly {
 
+  @Override
   public void f() {
   }
 
+  @Override
   public char[] g() {
     return null;
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
 
+  @Override
   public int i() {
     return 0;
   }
 
+  @Override
   public String s() {
     return null;
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/MiscellaneousTest.java b/user/test/com/google/gwt/dev/jjs/test/MiscellaneousTest.java
index 121934f..f598ae3 100644
--- a/user/test/com/google/gwt/dev/jjs/test/MiscellaneousTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/MiscellaneousTest.java
@@ -33,12 +33,14 @@
   }
 
   static class PolyA implements IFoo {
+    @Override
     public String toString() {
       return "A";
     }
   }
 
   static class PolyB implements IBar {
+    @Override
     public String toString() {
       return "B";
     }
@@ -93,6 +95,7 @@
     var a; a.asdf();
   }-*/;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
@@ -342,6 +345,7 @@
     assertTrue(c instanceof String);
   }
 
+  @Override
   public String toString() {
     return "com.google.gwt.dev.jjs.test.MiscellaneousTest";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/RunAsyncFailureTest.java b/user/test/com/google/gwt/dev/jjs/test/RunAsyncFailureTest.java
index 8b771cf..68a3e32 100644
--- a/user/test/com/google/gwt/dev/jjs/test/RunAsyncFailureTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/RunAsyncFailureTest.java
@@ -106,6 +106,7 @@
   
   private void runAsync1(final int attempt, final int expectedSuccessfulAttempt) {
     GWT.runAsync(new MyRunAsyncCallback(attempt, expectedSuccessfulAttempt) {
+      @Override
       public void onFailure(Throwable caught) {
         onFailureHelper(caught, new Timer() {
           @Override
@@ -115,6 +116,7 @@
         });
       }
 
+      @Override
       public void onSuccess() {
         if (onSuccessHelper("DOWNLOAD_FAILURE_TEST_1")) { finishTest(); }
       }
@@ -123,6 +125,7 @@
   
   private void runAsync2(final int attempt, final int expectedSuccessfulAttempt) {
     GWT.runAsync(new MyRunAsyncCallback(attempt, expectedSuccessfulAttempt) {
+      @Override
       public void onFailure(Throwable caught) {
         onFailureHelper(caught, new Timer() {
           @Override
@@ -132,6 +135,7 @@
         });
       }
 
+      @Override
       public void onSuccess() {
         if (onSuccessHelper("DOWNLOAD_FAILURE_TEST_2")) { finishTest(); }
       }
@@ -140,6 +144,7 @@
   
   private void runAsync3(final int attempt, final int expectedSuccessfulAttempt) {
     GWT.runAsync(new MyRunAsyncCallback(attempt, expectedSuccessfulAttempt) {
+      @Override
       public void onFailure(Throwable caught) {
         onFailureHelper(caught, new Timer() {
           @Override
@@ -149,6 +154,7 @@
         });
       }
 
+      @Override
       public void onSuccess() {
         if (onSuccessHelper("DOWNLOAD_FAILURE_TEST_3")) { finishTest(); }
       }
@@ -157,11 +163,13 @@
   
   private void runAsync4() {
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         // This call should fail since no retries are done if the code downloads
         // successfully, but fails to install.
         finishTest();
       }
+      @Override
       public void onSuccess() {
         // Use the string "INSTALL_FAILURE_TEST" so we can identify this
         // fragment on the server.  In the fail message is good enough.
@@ -172,9 +180,11 @@
 
   private void runAsync5() {
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         staticWrittenByAsync++;
       }
+      @Override
       public void onSuccess() {
         // Use the string "INSTALL_FAILURE_TEST" so we can identify this
         // fragment on the server.  In the fail message is good enough.
diff --git a/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java b/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java
index 421ee59..83987e5 100644
--- a/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/RunAsyncMetricsIntegrationTest.java
@@ -126,13 +126,16 @@
     }
     delayTestFinish(TIMEOUT);
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable reason) {
         fail();
       }
 
+      @Override
       public void onSuccess() {
         DeferredCommand.addCommand(new Command() {
 
+          @Override
           public void execute() {
             checkMetrics();
             finishTest();
diff --git a/user/test/com/google/gwt/dev/jjs/test/RunAsyncTest.java b/user/test/com/google/gwt/dev/jjs/test/RunAsyncTest.java
index 38a8e6c..04cb0b3 100644
--- a/user/test/com/google/gwt/dev/jjs/test/RunAsyncTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/RunAsyncTest.java
@@ -43,10 +43,12 @@
     delayTestFinish(RUNASYNC_TIMEOUT);
 
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         throw new RuntimeException(caught);
       }
 
+      @Override
       public void onSuccess() {
         finishTest();
       }
@@ -64,10 +66,12 @@
     staticWrittenInBaseButReadLater = HELLO;
 
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         throw new RuntimeException(caught);
       }
 
+      @Override
       public void onSuccess() {
         // This read happens later
         assertEquals(HELLO, staticWrittenInBaseButReadLater);
@@ -104,9 +108,11 @@
   private void assertRunAsyncIsAsync() {
     final int lastValue = staticWrittenByAsync;
     GWT.runAsync(RunAsyncTest.class, new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         throw new RuntimeException(caught);
       }
+      @Override
       public void onSuccess() {
         staticWrittenByAsync++;
       }
@@ -127,10 +133,12 @@
 
         GWT.runAsync(new RunAsyncCallback() {
 
+          @Override
           public void onFailure(Throwable caught) {
             throw new RuntimeException(caught);
           }
 
+          @Override
           public void onSuccess() {
             assertEquals(seen, thisCallNumber);
             seen++;
@@ -163,6 +171,7 @@
 
     // set a handler that looks for toThrow
     GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
+      @Override
       public void onUncaughtException(Throwable e) {
         if (e == toThrow) {
           // expected
@@ -173,9 +182,11 @@
     delayTestFinish(RUNASYNC_TIMEOUT);
 
     GWT.runAsync(new RunAsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
       }
 
+      @Override
       public void onSuccess() {
         throw toThrow;
       }
diff --git a/user/test/com/google/gwt/dev/jjs/test/SingleJsoImplTest.java b/user/test/com/google/gwt/dev/jjs/test/SingleJsoImplTest.java
index 9381aa8..9f9d6a0 100644
--- a/user/test/com/google/gwt/dev/jjs/test/SingleJsoImplTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/SingleJsoImplTest.java
@@ -83,10 +83,12 @@
   }
 
   static class JavaAdder implements Adder {
+    @Override
     public double add(double a, int b) {
       return a + b;
     }
 
+    @Override
     public long returnLong() {
       return 5L;
     }
@@ -97,12 +99,14 @@
    * the CreatedWithCast test isn't short-circuited due to type tightening.
    */
   static class JavaCreatedWithCast implements CreatedWithCast {
+    @Override
     public String foo() {
       return "foo";
     }
   }
 
   static class JavaCreatedWithCastToTag implements CreatedWithCastToTagSub {
+    @Override
     public String foo() {
       return "foo";
     }
@@ -113,6 +117,7 @@
    */
   static class JavaDivider extends JavaMultiplier implements Divider,
       Multiplier, Tag {
+    @Override
     public int divide(int a, int b) {
       return a / b;
     }
@@ -123,62 +128,76 @@
    * regular Java types.
    */
   static class JavaLog2 extends JavaDivider implements Log2 {
+    @Override
     public double log2(int a) {
       return Math.log(a) / Math.log(2);
     }
   }
 
   static class JavaMultiplier implements Multiplier {
+    @Override
     public int multiply(int a, int b) {
       return a * b;
     }
   }
 
   static class JavaUsesArrays implements UsesArrays {
+    @Override
     public void acceptInt3Array(int[][][] arr) {
       assertTrue(arr.length == 3);
     }
 
+    @Override
     public void acceptIntArray(int[] arr) {
       assertTrue(arr.length == 1);
     }
 
+    @Override
     public void acceptObject3Array(Object[][][] arr) {
       assertTrue(arr.length == 3);
     }
 
+    @Override
     public void acceptObjectArray(Object[] arr) {
       assertTrue(arr.length == 1);
     }
 
+    @Override
     public void acceptString3Array(String[][][] arr) {
       assertTrue(arr.length == 3);
     }
 
+    @Override
     public void acceptStringArray(String[] arr) {
       assertTrue(arr.length == 1);
     }
 
+    @Override
     public int[][][] returnInt3Array() {
       return new int[3][2][1];
     }
 
+    @Override
     public int[] returnIntArray() {
       return new int[1];
     }
 
+    @Override
     public Object[][][] returnObject3Array() {
       return new Object[3][2][1];
     }
 
+    @Override
     public Object[] returnObjectArray() {
       return new Object[1];
     }
 
+    @Override
     public String[][][] returnString3Array() {
       return new String[3][2][1];
     }
 
+    @Override
     public String[] returnStringArray() {
       return new String[1];
     }
@@ -188,10 +207,12 @@
     protected JsoAdder() {
     }
 
+    @Override
     public final native double add(double a, int b) /*-{
       return this.offset * (a + b);
     }-*/;
 
+    @Override
     public final long returnLong() {
       return 5L;
     }
@@ -202,6 +223,7 @@
     protected JsoCallsStaticMethodInSubclass() {
     }
 
+    @Override
     public final native String call(int a, int b) /*-{
       return "foo" + @com.google.gwt.dev.jjs.test.SingleJsoImplTest.JsoCallsStaticMethodInSubclassSubclass::actual(II)(a, b);
     }-*/;
@@ -222,6 +244,7 @@
     protected JsoCreatedWithCast() {
     }
 
+    @Override
     public final String foo() {
       return "foo";
     }
@@ -232,6 +255,7 @@
     protected JsoCreatedWithCastToTag() {
     }
 
+    @Override
     public final String foo() {
       return "foo";
     }
@@ -241,6 +265,7 @@
     protected JsoDivider() {
     }
 
+    @Override
     public final native int divide(int a, int b) /*-{
       return this.offset * a / b;
     }-*/;
@@ -252,10 +277,12 @@
       protected InnerType() {
       }
 
+      @Override
       public final native void call(int a) /*-{
         this.foo = a;
       }-*/;
 
+      @Override
       public final native int get() /*-{
         return this.foo;
       }-*/;
@@ -264,6 +291,7 @@
     protected JsoHasInnerJsoType() {
     }
 
+    @Override
     public final InnerInterface call(InnerInterface o, int a) {
       o.call(a);
       return o;
@@ -274,6 +302,7 @@
     protected JsoMultiplier() {
     }
 
+    @Override
     public final native int multiply(int a, int b) /*-{
       return this.offset * a * b;
     }-*/;
@@ -287,14 +316,17 @@
     protected JsoRandom() {
     }
 
+    @Override
     public int add(int a, int b) {
       return -1;
     }
 
+    @Override
     public int divide(int a, int b) {
       return -1;
     }
 
+    @Override
     public int multiply(int a, int b) {
       return -1;
     }
@@ -308,18 +340,22 @@
     protected JsoSimple() {
     }
 
+    @Override
     public String a() {
       return "a";
     }
 
+    @Override
     public String a(boolean overload) {
       return overload ? "Kaboom!" : "OK";
     }
 
+    @Override
     public String ex() throws IOException {
       throw new IOException();
     }
 
+    @Override
     public String rte() {
       throw new IllegalArgumentException();
     }
@@ -330,50 +366,62 @@
     protected JsoUsesArrays() {
     }
 
+    @Override
     public void acceptInt3Array(int[][][] arr) {
       assertTrue(arr.length == 3);
     }
 
+    @Override
     public void acceptIntArray(int[] arr) {
       assertTrue(arr.length == 1);
     }
 
+    @Override
     public void acceptObject3Array(Object[][][] arr) {
       assertTrue(arr.length == 3);
     }
 
+    @Override
     public void acceptObjectArray(Object[] arr) {
       assertTrue(arr.length == 1);
     }
 
+    @Override
     public void acceptString3Array(String[][][] arr) {
       assertTrue(arr.length == 3);
     }
 
+    @Override
     public void acceptStringArray(String[] arr) {
       assertTrue(arr.length == 1);
     }
 
+    @Override
     public int[][][] returnInt3Array() {
       return new int[3][2][1];
     }
 
+    @Override
     public int[] returnIntArray() {
       return new int[1];
     }
 
+    @Override
     public Object[][][] returnObject3Array() {
       return new Object[3][2][1];
     }
 
+    @Override
     public Object[] returnObjectArray() {
       return new Object[1];
     }
 
+    @Override
     public String[][][] returnString3Array() {
       return new String[3][2][1];
     }
 
+    @Override
     public String[] returnStringArray() {
       return new String[1];
     }
@@ -387,10 +435,12 @@
     protected JsoUsesGeneric() {
     }
 
+    @Override
     public final native <T> String acceptsGeneric(T chars) /*-{
       return chars + this.suffix;
     }-*/;
 
+    @Override
     public final native <T> void callback(AsyncCallback<T> callback, T chars) /*-{
       callback.@com.google.gwt.user.client.rpc.AsyncCallback::onSuccess(Ljava/lang/Object;)(chars + this.suffix);
     }-*/;
@@ -400,6 +450,7 @@
      * would break with a ClassCastException if accessed via JsoIsGenericFinal
      * in normal Java.
      */
+    @Override
     public final native <T> T returnsGeneric(String chars) /*-{
       return chars + this.suffix;
     }-*/;
@@ -449,6 +500,7 @@
   }
 
   static class JavaDualSimple implements DualSimple {
+    @Override
     public String a() {
       return "object";
     }
@@ -458,6 +510,7 @@
     protected JsoDualSimple() {
     }
 
+    @Override
     public String a() {
       return "jso";
     }
@@ -467,6 +520,7 @@
    * Ensure that a Java-only implementation of a SingleJsoImpl interface works.
    */
   static class SimpleOnlyJava implements SimpleOnlyJavaInterface {
+    @Override
     public String simpleOnlyJava() {
       return "simpleOnlyJava";
     }
@@ -758,9 +812,11 @@
     assertEquals("Hello42", j.acceptsGeneric("Hello"));
     assertEquals("Hello42", j.returnsGeneric("Hello"));
     j.callback(new AsyncCallback<CharSequence>() {
+      @Override
       public void onFailure(Throwable caught) {
       }
 
+      @Override
       public void onSuccess(CharSequence result) {
         assertEquals("Hello42", result);
       }
diff --git a/user/test/com/google/gwt/dev/jjs/test/UnusedImportsTest.java b/user/test/com/google/gwt/dev/jjs/test/UnusedImportsTest.java
index 27ff70a..59df2df 100644
--- a/user/test/com/google/gwt/dev/jjs/test/UnusedImportsTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/UnusedImportsTest.java
@@ -21,6 +21,7 @@
  * Tests unused imports removal.
  */
 public class UnusedImportsTest extends GWTTestCase {
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java b/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java
index a615d1f..f780cae 100644
--- a/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/VarargsTest.java
@@ -24,6 +24,7 @@
  */
 public class VarargsTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.jjs.CompilerSuite";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/jsoimpls/UnreferencedImplOfJsoInterface.java b/user/test/com/google/gwt/dev/jjs/test/jsoimpls/UnreferencedImplOfJsoInterface.java
index d037a87..b93b568 100644
--- a/user/test/com/google/gwt/dev/jjs/test/jsoimpls/UnreferencedImplOfJsoInterface.java
+++ b/user/test/com/google/gwt/dev/jjs/test/jsoimpls/UnreferencedImplOfJsoInterface.java
@@ -27,6 +27,7 @@
   protected UnreferencedImplOfJsoInterface() {
   }
 
+  @Override
   public boolean isOk() {
     if (2 + 2 == 4) {
       return true;
diff --git a/user/test/com/google/gwt/dev/jjs/test/singlejso/A.java b/user/test/com/google/gwt/dev/jjs/test/singlejso/A.java
index 068fb94..dd5c270 100644
--- a/user/test/com/google/gwt/dev/jjs/test/singlejso/A.java
+++ b/user/test/com/google/gwt/dev/jjs/test/singlejso/A.java
@@ -28,6 +28,7 @@
     return JavaScriptObject.createObject().cast();
   }
 
+  @Override
   public final String whoAmI() {
     return "A";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/singlejso/B1.java b/user/test/com/google/gwt/dev/jjs/test/singlejso/B1.java
index f337cea..7557ae5 100644
--- a/user/test/com/google/gwt/dev/jjs/test/singlejso/B1.java
+++ b/user/test/com/google/gwt/dev/jjs/test/singlejso/B1.java
@@ -19,10 +19,12 @@
  * B1 class.
  */
 public class B1 implements IB {
+  @Override
   public String sayHello() {
     return "Hey, I'm " + whoAmI();
   }
 
+  @Override
   public String whoAmI() {
     return "B1";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/singlejso/B2.java b/user/test/com/google/gwt/dev/jjs/test/singlejso/B2.java
index 6dc39fa..05853bb 100644
--- a/user/test/com/google/gwt/dev/jjs/test/singlejso/B2.java
+++ b/user/test/com/google/gwt/dev/jjs/test/singlejso/B2.java
@@ -19,10 +19,12 @@
  * B2 class.
  */
 public class B2 implements IB {
+  @Override
   public String sayHello() {
     return "Hi, I'm " + whoAmI();
   }
 
+  @Override
   public String whoAmI() {
     return "B2";
   }
diff --git a/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java b/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java
index f7b079f..718057a 100644
--- a/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java
+++ b/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java
@@ -51,6 +51,7 @@
     protected DiamondImpl() {
     }
 
+    @Override
     public final native int size() /*-{
       return this.size;
     }-*/;
@@ -79,6 +80,7 @@
    * Used for testing virtual overrides.
    */
   static class Narrow extends Wide {
+    @Override
     public String toString() {
       return "Narrow";
     }
@@ -127,6 +129,7 @@
   }
 
   private static class JvmNode implements Node {
+    @Override
     public JvmNode appendChild(Node node) {
       return (JvmNode) node;
     }
@@ -148,6 +151,7 @@
   }
 
   private static class JsNode extends JavaScriptObject implements Node {
+    @Override
     public final native JsNode appendChild(Node node) /*-{
       return node;
     }-*/;
diff --git a/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java b/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java
index 3cfd697..afee926 100644
--- a/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java
+++ b/user/test/com/google/gwt/dev/shell/rewrite/client/EmmaClassLoadingTest.java
@@ -57,6 +57,7 @@
 
   public void test1() {
     TestInterface a = new TestInterface() {
+      @Override
       public void foo() {
         log("1a foo");
       }
@@ -64,6 +65,7 @@
     a.foo();
 
     TestInterface b = new TestInterface() {
+      @Override
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.EmmaClassLoadingTest::log(Ljava/lang/String;)("1b foo");
       }-*/;
@@ -72,6 +74,7 @@
 
     if (false) {
       TestInterface c = new TestInterface() {
+        @Override
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.EmmaClassLoadingTest::log(Ljava/lang/String;)("ANY_FOO_1");
         }-*/;
@@ -91,6 +94,7 @@
     }
 
     TestInterface d = new TestInterface() {
+      @Override
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.EmmaClassLoadingTest::log(Ljava/lang/String;)("1d foo");
       }-*/;
@@ -104,6 +108,7 @@
      * through jdt generated code for non-existent jsni methods of $4) to fail.
      */
     TestInterface e = new TestInterface() {
+      @Override
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.EmmaClassLoadingTest::log(Ljava/lang/String;)("1e foo");
       }-*/;
@@ -201,6 +206,7 @@
      */
     static void test() {
       EmmaClassLoadingTest.TestInterface a = new EmmaClassLoadingTest.TestInterface() {
+        @Override
         public void foo() {
           log("2a foo");
         }
@@ -208,6 +214,7 @@
       a.foo();
 
       EmmaClassLoadingTest.TestInterface b = new EmmaClassLoadingTest.TestInterface() {
+        @Override
         @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("2b foo");
@@ -217,6 +224,7 @@
 
       if (false) {
         EmmaClassLoadingTest.TestInterface c = new EmmaClassLoadingTest.TestInterface() {
+          @Override
           @SuppressWarnings("jsni")
           public native void foo() /*-{
             @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("ANY_FOO_1");
@@ -237,6 +245,7 @@
       }
 
       EmmaClassLoadingTest.TestInterface d = new EmmaClassLoadingTest.TestInterface() {
+        @Override
         @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("2d foo");
@@ -252,6 +261,7 @@
        * to fail.
        */
       EmmaClassLoadingTest.TestInterface e = new EmmaClassLoadingTest.TestInterface() {
+        @Override
         @SuppressWarnings("jsni")
         public native void foo() /*-{
           @com.google.gwt.dev.shell.rewrite.client.SecondTopLevelClass::log(Ljava/lang/String;)("2e foo");
@@ -288,6 +298,7 @@
 
   void test() {
     EmmaClassLoadingTest.TestInterface a = new EmmaClassLoadingTest.TestInterface() {
+      @Override
       @SuppressWarnings("jsni")
       public native void foo() /*-{
         @com.google.gwt.dev.shell.rewrite.client.ThirdTopLevelClass::log(Ljava/lang/String;)("3a foo");
diff --git a/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java b/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java
index 8eb5f6f..e7da767 100644
--- a/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java
+++ b/user/test/com/google/gwt/dev/shell/test/MultiModuleTest.java
@@ -95,6 +95,7 @@
    * 
    * @return the fully-qualified module name
    */
+  @Override
   public String getModuleName() {
     return "com.google.gwt.dev.shell.MultiModuleTest";
   }
diff --git a/user/test/com/google/gwt/dev/strict/bad/client/Entry.java b/user/test/com/google/gwt/dev/strict/bad/client/Entry.java
index 06ca913..9933ea3 100644
--- a/user/test/com/google/gwt/dev/strict/bad/client/Entry.java
+++ b/user/test/com/google/gwt/dev/strict/bad/client/Entry.java
@@ -22,6 +22,7 @@
  * Used by {@link com.google.gwt.dev.StrictModeTest}.
  */
 public class Entry implements EntryPoint {
+  @Override
   public void onModuleLoad() {
   }
 }
diff --git a/user/test/com/google/gwt/dev/strict/good/client/Entry.java b/user/test/com/google/gwt/dev/strict/good/client/Entry.java
index c1bbfc2..0c5c0a7 100644
--- a/user/test/com/google/gwt/dev/strict/good/client/Entry.java
+++ b/user/test/com/google/gwt/dev/strict/good/client/Entry.java
@@ -22,6 +22,7 @@
  * Used by {@link com.google.gwt.dev.StrictModeTest}.
  */
 public class Entry implements EntryPoint {
+  @Override
   public void onModuleLoad() {
   }
 }
diff --git a/user/test/com/google/gwt/dom/client/FrameTests.java b/user/test/com/google/gwt/dom/client/FrameTests.java
index cb6226a..973d763 100644
--- a/user/test/com/google/gwt/dom/client/FrameTests.java
+++ b/user/test/com/google/gwt/dom/client/FrameTests.java
@@ -47,6 +47,7 @@
     delayTestFinish(FRAME_LOAD_DELAY);
 
     Frame frame = new Frame() {
+      @Override
       public void onBrowserEvent(Event event) {
         if (event.getTypeInt() == Event.ONLOAD) {
           finishTest();
@@ -65,6 +66,7 @@
 
     Frame frame = new Frame();
     frame.addLoadHandler(new LoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         finishTest();
       }
@@ -80,6 +82,7 @@
     Frame frame = new Frame() {
       {
         addDomHandler(new LoadHandler() {
+          @Override
           public void onLoad(LoadEvent event) {
             finishTest();
           }
diff --git a/user/test/com/google/gwt/dom/client/StyleInjectorTest.java b/user/test/com/google/gwt/dom/client/StyleInjectorTest.java
index 0edca0a..e585a0d 100644
--- a/user/test/com/google/gwt/dom/client/StyleInjectorTest.java
+++ b/user/test/com/google/gwt/dom/client/StyleInjectorTest.java
@@ -46,6 +46,7 @@
     delayTestFinish(TEST_DELAY);
 
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         assertEquals(100, elt.getOffsetLeft());
         assertEquals(100, elt.getClientHeight());
@@ -81,6 +82,7 @@
     delayTestFinish(TEST_DELAY);
 
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         assertEquals(100, elt.getOffsetLeft());
         assertEquals(100, elt.getClientHeight());
@@ -117,6 +119,7 @@
     StyleInjector.injectAtEnd("#" + testName + " {height: 100px;}", immediate);
 
     Command command = new Command() {
+      @Override
       public void execute() {
         assertEquals(100, elt.getOffsetLeft());
         assertEquals(100, elt.getClientHeight());
diff --git a/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java b/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java
index b501efa..a716b7e 100644
--- a/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java
+++ b/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java
@@ -37,6 +37,7 @@
   class AddressCoEditorView extends LeafAddressEditor implements IsEditor<LeafAddressEditor> {
     private LeafAddressEditor addressEditor = new LeafAddressEditor();
 
+    @Override
     public LeafAddressEditor asEditor() {
       return addressEditor;
     }
@@ -53,6 +54,7 @@
   class AddressEditorView implements IsEditor<LeafAddressEditor> {
     LeafAddressEditor addressEditor = new LeafAddressEditor();
 
+    @Override
     public LeafAddressEditor asEditor() {
       return addressEditor;
     }
@@ -109,11 +111,13 @@
     int setValueCalled;
     Address value;
 
+    @Override
     public Address getValue() {
       getValueCalled++;
       return value;
     }
 
+    @Override
     public void setValue(Address value) {
       setValueCalled++;
       value = new Address();
@@ -161,6 +165,7 @@
   static class PersonEditorWithDelegate extends PersonEditor implements HasEditorDelegate<Person> {
     EditorDelegate<Person> delegate;
 
+    @Override
     public void setDelegate(EditorDelegate<Person> delegate) {
       this.delegate = delegate;
     }
@@ -277,6 +282,7 @@
       super(value);
     }
 
+    @Override
     public void setDelegate(EditorDelegate<T> delegate) {
       this.delegate = delegate;
     }
@@ -288,17 +294,21 @@
     int setValueCalled;
     Address value;
 
+    @Override
     public void flush() {
       flushCalled++;
     }
 
+    @Override
     public void onPropertyChange(String... paths) {
     }
 
+    @Override
     public void setDelegate(EditorDelegate<Address> delegate) {
       setDelegateCalled++;
     }
 
+    @Override
     public void setValue(Address value) {
       setValueCalled++;
       this.value = value;
@@ -312,13 +322,16 @@
     int flushCalled;
     int setDelegateCalled;
 
+    @Override
     public void flush() {
       flushCalled++;
     }
 
+    @Override
     public void onPropertyChange(String... paths) {
     }
 
+    @Override
     public void setDelegate(EditorDelegate<Address> delegate) {
       setDelegateCalled++;
     }
@@ -571,17 +584,20 @@
     @SuppressWarnings("unchecked")
     final SimpleEditor<String>[] disposed = new SimpleEditor[1];
     class StringSource extends EditorSource<SimpleEditor<String>> {
+      @Override
       public SimpleEditor<String> create(int index) {
         SimpleEditor<String> editor = SimpleEditor.of();
         positionMap.put(index, editor);
         return editor;
       }
 
+      @Override
       public void dispose(SimpleEditor<String> editor) {
         disposed[0] = editor;
         positionMap.values().remove(editor);
       }
 
+      @Override
       public void setIndex(SimpleEditor<String> editor, int index) {
         positionMap.values().remove(editor);
         positionMap.put(index, editor);
diff --git a/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java b/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java
index 8a5481e..0f1ae13 100644
--- a/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java
+++ b/user/test/com/google/gwt/editor/client/adapters/HasDataEditorTest.java
@@ -48,27 +48,32 @@
 
     private ArrayList<Integer> rowData = new ArrayList<Integer>();
 
+    @Override
     public HandlerRegistration addCellPreviewHandler(
         CellPreviewEvent.Handler<Integer> handler) {
       fail("HasDataEditor should never call HasData#addCellPreviewHandler");
       return null;
     }
 
+    @Override
     public HandlerRegistration addRangeChangeHandler(Handler handler) {
       fail("HasDataEditor should never call HasData#addRangeChangeHandler");
       return null;
     }
 
+    @Override
     public HandlerRegistration addRowCountChangeHandler(
         RowCountChangeEvent.Handler handler) {
       fail("HasDataEditor should never call HasData#addRowCountChangeHandler");
       return null;
     }
 
+    @Override
     public void fireEvent(GwtEvent<?> event) {
       fail("HasDataEditor should never call HasData#fireEvent");
     }
 
+    @Override
     public int getRowCount() {
       return rowData.size();
     }
@@ -77,39 +82,47 @@
       return Collections.unmodifiableList(rowData);
     }
 
+    @Override
     public SelectionModel<? super Integer> getSelectionModel() {
       fail("HasDataEditor should never call HasData#getSelectionModel");
       return null;
     }
 
+    @Override
     public Integer getVisibleItem(int indexOnPage) {
       fail("HasDataEditor should never call HasData#getVisibleItem");
       return null;
     }
 
+    @Override
     public int getVisibleItemCount() {
       fail("HasDataEditor should never call HasData#getVisibleItemCount");
       return 0;
     }
 
+    @Override
     public Iterable<Integer> getVisibleItems() {
       fail("HasDataEditor should never call HasData#getVisibleItems");
       return null;
     }
 
+    @Override
     public Range getVisibleRange() {
       fail("HasDataEditor should never call HasData#getVisibleRange");
       return null;
     }
 
+    @Override
     public boolean isRowCountExact() {
       return true;
     }
 
+    @Override
     public void setRowCount(int count) {
       setRowCount(count, true);
     }
 
+    @Override
     public void setRowCount(int count, boolean isExact) {
       assertTrue(isExact);
       assertTrue("HasDataEditor should only setRowCount to resize down",
@@ -119,6 +132,7 @@
       }
     }
 
+    @Override
     public void setRowData(int start, List<? extends Integer> values) {
       // sets within the list or adds to it
       assertTrue(0 <= start && start <= rowData.size());
@@ -134,18 +148,22 @@
       }
     }
 
+    @Override
     public void setSelectionModel(SelectionModel<? super Integer> selectionModel) {
       fail("HasDataEditor should never call HasData#setSelectionModel");
     }
 
+    @Override
     public void setVisibleRange(int start, int length) {
       fail("HasDataEditor should never call HasData#setVisibleRange");
     }
 
+    @Override
     public void setVisibleRange(Range range) {
       fail("HasDataEditor should never call HasData#setVisibleRange");
     }
 
+    @Override
     public void setVisibleRangeAndClearData(Range range,
         boolean forceRangeChangeEvent) {
       fail("HasDataEditor should never call HasData#setVisibleRangeAndClearData");
@@ -238,6 +256,7 @@
 
   /** A visitor that visits synthetic composite editors. */
   private static class SyntheticVisitor extends EditorVisitor {
+    @Override
     public <T> boolean visit(EditorContext<T> ctx) {
       if (ctx.asCompositeEditor() != null) {
         ctx.traverseSyntheticCompositeEditor(this);
diff --git a/user/test/com/google/gwt/editor/client/impl/DelegateMapTest.java b/user/test/com/google/gwt/editor/client/impl/DelegateMapTest.java
index 5b738a1..e82ecb3 100644
--- a/user/test/com/google/gwt/editor/client/impl/DelegateMapTest.java
+++ b/user/test/com/google/gwt/editor/client/impl/DelegateMapTest.java
@@ -38,6 +38,7 @@
   class AddressCoEditorView extends AddressEditor implements IsEditor<AddressEditor> {
     private AddressEditor addressEditor = new AddressEditor();
 
+    @Override
     public AddressEditor asEditor() {
       return addressEditor;
     }
@@ -62,6 +63,7 @@
       super(value);
     }
 
+    @Override
     public void setDelegate(EditorDelegate<T> delegate) {
       this.delegate = delegate;
     }
diff --git a/user/test/com/google/gwt/emultest/java/lang/BooleanTest.java b/user/test/com/google/gwt/emultest/java/lang/BooleanTest.java
index 7c80d28..4b00b5c 100644
--- a/user/test/com/google/gwt/emultest/java/lang/BooleanTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/BooleanTest.java
@@ -33,6 +33,7 @@
   static volatile String true2 = "TRUE";
   static volatile String true3 = "TrUe";
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/lang/ByteTest.java b/user/test/com/google/gwt/emultest/java/lang/ByteTest.java
index fc14f79..8be3fa5 100644
--- a/user/test/com/google/gwt/emultest/java/lang/ByteTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/ByteTest.java
@@ -22,6 +22,7 @@
  */
 public class ByteTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/lang/CharacterTest.java b/user/test/com/google/gwt/emultest/java/lang/CharacterTest.java
index e2dc237..d8a9c3b 100644
--- a/user/test/com/google/gwt/emultest/java/lang/CharacterTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/CharacterTest.java
@@ -37,14 +37,17 @@
       this.end = end;
     }
     
+    @Override
     public char charAt(int index) {
       return charArray[index + start];
     }
 
+    @Override
     public int length() {
       return end - start;
     }
 
+    @Override
     public java.lang.CharSequence subSequence(int start, int end) {
       return new CharSequenceAdapter(charArray, this.start + start,
           this.start + end);
@@ -101,6 +104,7 @@
       super(s);
     }
 
+    @Override
     public boolean pass(char c) {
       return Character.isLowerCase(c);
     }
@@ -111,6 +115,7 @@
       super(s);
     }
 
+    @Override
     public boolean pass(char c) {
       return Character.isUpperCase(c);
     }
@@ -129,39 +134,46 @@
   }
 
   Judge digitJudge = new Judge(allChars) {
+    @Override
     public boolean pass(char c) {
       return Character.isDigit(c);
     }
   };
   Judge letterJudge = new Judge(allChars) {
+    @Override
     public boolean pass(char c) {
       return Character.isLetter(c);
     }
   };
   Judge letterOrDigitJudge = new Judge(allChars) {
+    @Override
     public boolean pass(char c) {
       return Character.isLetterOrDigit(c);
     }
   };
   Changer lowerCaseChanger = new Changer(allChars) {
+    @Override
     public char change(char c) {
       return Character.toLowerCase(c);
     }
   };
   Judge lowerCaseJudge = new LowerCaseJudge(allChars);
   Judge spaceJudge = new Judge(allChars) {
+    @Override
     @SuppressWarnings("deprecation") // Character.isSpace()
     public boolean pass(char c) {
       return Character.isSpace(c); // suppress deprecation
     }
   };
   Changer upperCaseChanger = new Changer(allChars) {
+    @Override
     public char change(char c) {
       return Character.toUpperCase(c);
     }
   };
   Judge upperCaseJudge = new UpperCaseJudge(allChars);
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/lang/IntegerTest.java b/user/test/com/google/gwt/emultest/java/lang/IntegerTest.java
index 8791e01..2cc0c95 100644
--- a/user/test/com/google/gwt/emultest/java/lang/IntegerTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/IntegerTest.java
@@ -23,6 +23,7 @@
  */
 public class IntegerTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/lang/ObjectTest.java b/user/test/com/google/gwt/emultest/java/lang/ObjectTest.java
index 1081020..e2bea18 100644
--- a/user/test/com/google/gwt/emultest/java/lang/ObjectTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/ObjectTest.java
@@ -22,6 +22,7 @@
  * TODO: document me.
  */
 public class ObjectTest extends GWTTestCase {
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/lang/ShortTest.java b/user/test/com/google/gwt/emultest/java/lang/ShortTest.java
index 25aaebe..3a305ff 100644
--- a/user/test/com/google/gwt/emultest/java/lang/ShortTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/ShortTest.java
@@ -22,6 +22,7 @@
  */
 public class ShortTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/lang/ThrowableTest.java b/user/test/com/google/gwt/emultest/java/lang/ThrowableTest.java
index b835950..4efcee9 100644
--- a/user/test/com/google/gwt/emultest/java/lang/ThrowableTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/ThrowableTest.java
@@ -23,8 +23,9 @@
 public class ThrowableTest extends GWTTestCase {
 
   // Line number for exception thrown in throwException below.
-  private static final int THROWN_EXCEPTION_LINE_NUMBER = 36;
+  private static final int THROWN_EXCEPTION_LINE_NUMBER = 37;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
@@ -39,7 +40,7 @@
   public void testStackTraceContainsConstructorLineNumber() {
     // NOTE: changing the line number of this object creation will affect
     // the test case.
-    final int lineNumber = 43;  // should be the next line.
+    final int lineNumber = 44;  // should be the next line.
     Throwable throwable = new Throwable("stacktrace");
     StackTraceElement[] trace = throwable.getStackTrace();
     assertNotNull(trace);
diff --git a/user/test/com/google/gwt/emultest/java/sql/SqlTimeTest.java b/user/test/com/google/gwt/emultest/java/sql/SqlTimeTest.java
index 9bcda1d..e8ca43e 100644
--- a/user/test/com/google/gwt/emultest/java/sql/SqlTimeTest.java
+++ b/user/test/com/google/gwt/emultest/java/sql/SqlTimeTest.java
@@ -30,6 +30,7 @@
   /**
    * Sets module name so that javascript compiler can operate.
    */
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/util/AbstractSequentialListTest.java b/user/test/com/google/gwt/emultest/java/util/AbstractSequentialListTest.java
index 03eeee5..e8d6369 100644
--- a/user/test/com/google/gwt/emultest/java/util/AbstractSequentialListTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/AbstractSequentialListTest.java
@@ -39,19 +39,23 @@
 
         int position = index;
 
+        @Override
         public void add(E e) {
           internalList.add(position, e);
           position++;
         }
 
+        @Override
         public boolean hasNext() {
           return position < internalList.size();
         }
 
+        @Override
         public boolean hasPrevious() {
           return position > 0;
         }
 
+        @Override
         public E next() {
           E el = internalList.get(position);
           position++;
@@ -62,26 +66,31 @@
           return el;
         }
 
+        @Override
         public int nextIndex() {
           throw new UnsupportedOperationException(
               "nextIndex operation not supported");
         }
 
+        @Override
         public E previous() {
           throw new UnsupportedOperationException(
               "previous operation not supported");
         }
 
+        @Override
         public int previousIndex() {
           throw new UnsupportedOperationException(
               "previousIndex operation not supported");
         }
 
+        @Override
         public void remove() {
           throw new UnsupportedOperationException(
               "remove operation not supported");
         }
 
+        @Override
         public void set(E e) {
           throw new UnsupportedOperationException("set operation not supported");
         }
diff --git a/user/test/com/google/gwt/emultest/java/util/ApacheMapTest.java b/user/test/com/google/gwt/emultest/java/util/ApacheMapTest.java
index 7b48b89..851f507 100644
--- a/user/test/com/google/gwt/emultest/java/util/ApacheMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/ApacheMapTest.java
@@ -28,10 +28,12 @@
   public ApacheMapTest() {
   }
 
+  @Override
   public Object makeObject() {
     return new HashMap();
   }
 
+  @Override
   protected Map makeEmptyMap() {
     return new HashMap();
   }
diff --git a/user/test/com/google/gwt/emultest/java/util/ArraysTest.java b/user/test/com/google/gwt/emultest/java/util/ArraysTest.java
index 6b17574..f307937 100644
--- a/user/test/com/google/gwt/emultest/java/util/ArraysTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/ArraysTest.java
@@ -415,6 +415,7 @@
   @SuppressWarnings("unchecked")
   public void testBinarySearchObjectComparator() {
     Comparator inverseSort = new Comparator() {
+      @Override
       public int compare(Object o1, Object o2) {
         return ((Comparable) o2).compareTo(o1);
       }
@@ -555,6 +556,7 @@
     Object[] sorted = {"a", "b", "b", "c"};
     assertEquals(x, sorted);
     Comparator<Object> t = new Comparator<Object>() {
+      @Override
       @SuppressWarnings("unchecked")
       public int compare(Object o1, Object o2) {
         return ((Comparable<Object>) o2).compareTo(o1);
@@ -584,6 +586,7 @@
     while (validPermutation(permutation, origData.length)) {
       TestObject[] permutedArray = getPermutation(origData, permutation);
       Arrays.sort(permutedArray, new Comparator<TestObject>() {
+        @Override
         public int compare(TestObject a, TestObject b) {
           return a.getValue() - b.getValue();
         }
diff --git a/user/test/com/google/gwt/emultest/java/util/CollectionsTest.java b/user/test/com/google/gwt/emultest/java/util/CollectionsTest.java
index e25bd03..00540d0 100644
--- a/user/test/com/google/gwt/emultest/java/util/CollectionsTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/CollectionsTest.java
@@ -151,6 +151,7 @@
    */
   public void testBinarySearchObjectComparator() {
     Comparator<String> inverseSort = new Comparator<String>() {
+      @Override
       public int compare(String o1, String o2) {
         return o2.compareTo(o1);
       }
@@ -229,6 +230,7 @@
 
   public void testSortWithComparator() {
     Comparator<String> x = new Comparator<String>() {
+      @Override
       public int compare(String s1, String s2) {
         // sort into reverse order
         return s2.compareTo(s1);
diff --git a/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java b/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java
index e46d534..5ed1eec 100644
--- a/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/ComparatorTest.java
@@ -25,10 +25,12 @@
  * TODO: document me.
  */
 public class ComparatorTest extends TestComparator {
+  @Override
   public Comparator<Object> makeComparator() {
     return new DummyComparator();
   }
 
+  @Override
   public List<Object> getComparableObjectsOrdered() {
     List<Object> l = new ArrayList<Object>();
     l.add("x");
@@ -45,6 +47,7 @@
   /**
    * Compares returns reverse hash order.
    */
+  @Override
   public int compare(Object arg0, Object arg1) {
     int a = arg0.hashCode();
     int b = arg1.hashCode();
diff --git a/user/test/com/google/gwt/emultest/java/util/EmulTestBase.java b/user/test/com/google/gwt/emultest/java/util/EmulTestBase.java
index 210a562..416ce12 100644
--- a/user/test/com/google/gwt/emultest/java/util/EmulTestBase.java
+++ b/user/test/com/google/gwt/emultest/java/util/EmulTestBase.java
@@ -42,6 +42,7 @@
     }
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/util/EnumMapTest.java b/user/test/com/google/gwt/emultest/java/util/EnumMapTest.java
index 4a9ee16..76a1c87 100644
--- a/user/test/com/google/gwt/emultest/java/util/EnumMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/EnumMapTest.java
@@ -133,14 +133,17 @@
       E key = entry.getKey();
       Integer value = entry.getValue();
       
+      @Override
       public E getKey() {
         return key;
       }
 
+      @Override
       public Integer getValue() {
         return value;
       }
 
+      @Override
       public Integer setValue(Integer value) {
         Integer oldValue = this.value;
         this.value = value;
@@ -176,6 +179,7 @@
     return list;
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/util/HashSetTest.java b/user/test/com/google/gwt/emultest/java/util/HashSetTest.java
index 0a0b793..ff45396 100644
--- a/user/test/com/google/gwt/emultest/java/util/HashSetTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/HashSetTest.java
@@ -43,11 +43,13 @@
     assertTrue(s.contains("watch"));
   }
 
+  @Override
   @SuppressWarnings("rawtypes")
   protected Set makeEmptySet() {
     return new HashSet();
   }
 
+  @Override
   @SuppressWarnings("rawtypes")
   public Object makeObject() {
     return new HashSet();
diff --git a/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java b/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
index 4ad811a..94d366e 100644
--- a/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
@@ -71,6 +71,7 @@
   private static final String KEY_TEST_PUT = "testPut";
   private static final String KEY_TEST_REMOVE = "testRemove";
   private static final Object ODD_ZERO_KEY = new Object() {
+    @Override
     public int hashCode() {
       return 0;
     }
@@ -125,6 +126,7 @@
     assertFalse(hashMap.entrySet().iterator().hasNext());
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
@@ -733,10 +735,12 @@
     assertEquals(val, VALUE_VAL);
   }
 
+  @Override
   protected Map makeConfirmedMap() {
     return new IdentityHashMap();
   }
 
+  @Override
   protected Map makeEmptyMap() {
     return new IdentityHashMap();
   }
diff --git a/user/test/com/google/gwt/emultest/java/util/StackTest.java b/user/test/com/google/gwt/emultest/java/util/StackTest.java
index bcc1070..3f648dc 100644
--- a/user/test/com/google/gwt/emultest/java/util/StackTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/StackTest.java
@@ -29,6 +29,7 @@
   private static final int TEST_SIZE = 10;
 
   /** Sets module name so that javascript compiler can operate. */
+  @Override
   public String getModuleName() {
     return "com.google.gwt.emultest.EmulSuite";
   }
diff --git a/user/test/com/google/gwt/emultest/java/util/TreeMapIntegerDoubleWithComparatorTest.java b/user/test/com/google/gwt/emultest/java/util/TreeMapIntegerDoubleWithComparatorTest.java
index 83788f7..bb7f3cf 100644
--- a/user/test/com/google/gwt/emultest/java/util/TreeMapIntegerDoubleWithComparatorTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/TreeMapIntegerDoubleWithComparatorTest.java
@@ -27,6 +27,7 @@
   @Override
   protected SortedMap<Integer, Double> createSortedMap() {
     setComparator(new Comparator<Integer>() {
+      @Override
       public int compare(Integer o1, Integer o2) {
         if (o1 == null) {
           return o2 == null ? 0 : -1;
diff --git a/user/test/com/google/gwt/emultest/java/util/TreeMapStringStringWithComparatorTest.java b/user/test/com/google/gwt/emultest/java/util/TreeMapStringStringWithComparatorTest.java
index 51101e0..59d4e0c 100644
--- a/user/test/com/google/gwt/emultest/java/util/TreeMapStringStringWithComparatorTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/TreeMapStringStringWithComparatorTest.java
@@ -27,6 +27,7 @@
   @Override
   protected SortedMap<String, String> createSortedMap() {
     setComparator(new Comparator<String>() {
+      @Override
       public int compare(String o1, String o2) {
         if (o1 == null) {
           return o2 == null ? 0 : -1;
diff --git a/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java b/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java
index 59a5f66..1b7391c 100644
--- a/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/TreeMapTest.java
@@ -505,14 +505,17 @@
     Map<K, V> map = createMap();
     try {
       map.entrySet().add(new Entry<K, V>() {
+        @Override
         public K getKey() {
           return null;
         }
 
+        @Override
         public V getValue() {
           return null;
         }
 
+        @Override
         public V setValue(V value) {
           return null;
         }
diff --git a/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerTest.java b/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerTest.java
index e74c783..7894d79 100644
--- a/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerTest.java
@@ -40,6 +40,7 @@
   
   private static class RecordCompare implements Comparator<Record> {
     // Handle nulls as less than any other key
+    @Override
     public int compare(Record r1, Record r2) {
       if (r1 == null) {
         return r2 == null ? 0 : -1;
diff --git a/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerWithComparatorTest.java b/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerWithComparatorTest.java
index 142c023..30848e2 100644
--- a/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerWithComparatorTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/TreeSetIntegerWithComparatorTest.java
@@ -26,6 +26,7 @@
   @Override
   protected SortedSet<Integer> createSortedSet() {
     setComparator(new Comparator<Integer>() {
+      @Override
       public int compare(Integer o1, Integer o2) {
         if (o1 == null) {
           return o2 == null ? 0 : -1;
diff --git a/user/test/com/google/gwt/event/dom/client/DomEventTest.java b/user/test/com/google/gwt/event/dom/client/DomEventTest.java
index 154e434..aa195b8 100644
--- a/user/test/com/google/gwt/event/dom/client/DomEventTest.java
+++ b/user/test/com/google/gwt/event/dom/client/DomEventTest.java
@@ -63,12 +63,14 @@
     manager = new HandlerManager(flag);
     HandlerRegistration downRegistration = manager.addHandler(
         KeyDownEvent.getType(), new KeyDownHandler() {
+          @Override
           public void onKeyDown(KeyDownEvent event) {
             flag.flag = true;
           }
         });
     HandlerRegistration upRegistration = manager.addHandler(
         KeyUpEvent.getType(), new KeyUpHandler() {
+          @Override
           public void onKeyUp(KeyUpEvent event) {
             flag.flag = true;
           }
@@ -76,6 +78,7 @@
 
     HandlerRegistration pressRegistration = manager.addHandler(
         KeyPressEvent.getType(), new KeyPressHandler() {
+          @Override
           public void onKeyPress(KeyPressEvent event) {
             flag.flag = true;
           }
@@ -92,12 +95,14 @@
 
     HandlerRegistration downRegistration = manager.addHandler(
         MouseDownEvent.getType(), new MouseDownHandler() {
+          @Override
           public void onMouseDown(MouseDownEvent event) {
             flag.flag = true;
           }
         });
     HandlerRegistration upRegistration = manager.addHandler(
         MouseUpEvent.getType(), new MouseUpHandler() {
+          @Override
           public void onMouseUp(MouseUpEvent event) {
             flag.flag = true;
           }
@@ -105,6 +110,7 @@
 
     HandlerRegistration clickRegistration = manager.addHandler(
         ClickEvent.getType(), new ClickHandler() {
+          @Override
           public void onClick(ClickEvent event) {
             flag.flag = true;
           }
@@ -112,6 +118,7 @@
 
     HandlerRegistration dblclickRegistration = manager.addHandler(
         DoubleClickEvent.getType(), new DoubleClickHandler() {
+          @Override
           public void onDoubleClick(DoubleClickEvent event) {
             flag.flag = true;
           }
@@ -119,12 +126,14 @@
 
     HandlerRegistration outRegistration = manager.addHandler(
         MouseOutEvent.getType(), new MouseOutHandler() {
+          @Override
           public void onMouseOut(MouseOutEvent event) {
             flag.flag = true;
           }
         });
     HandlerRegistration overRegistration = manager.addHandler(
         MouseOverEvent.getType(), new MouseOverHandler() {
+          @Override
           public void onMouseOver(MouseOverEvent event) {
             flag.flag = true;
           }
@@ -132,6 +141,7 @@
 
     HandlerRegistration moveRegistration = manager.addHandler(
         MouseMoveEvent.getType(), new MouseMoveHandler() {
+          @Override
           public void onMouseMove(MouseMoveEvent event) {
             flag.flag = true;
           }
@@ -139,6 +149,7 @@
 
     HandlerRegistration wheelRegistration = manager.addHandler(
         MouseWheelEvent.getType(), new MouseWheelHandler() {
+          @Override
           public void onMouseWheel(MouseWheelEvent event) {
             flag.flag = true;
           }
@@ -161,6 +172,7 @@
 
     final Flag flag = new Flag();
     b.addMouseDownHandler(new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         assertEquals("", 16, event.getX());
         assertEquals("", 8, event.getY());
diff --git a/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java b/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java
index ec9ff31..b09e09f 100644
--- a/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java
+++ b/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java
@@ -31,26 +31,32 @@
       OpenHandler<String>, ResizeHandler, ValueChangeHandler<String> {
     public boolean flag = false;
 
+    @Override
     public void onBeforeSelection(BeforeSelectionEvent<String> event) {
       flag = true;
     }
 
+    @Override
     public void onClose(CloseEvent<String> event) {
       flag = true;
     }
 
+    @Override
     public void onOpen(OpenEvent<String> event) {
       flag = true;
     }
 
+    @Override
     public void onResize(ResizeEvent event) {
       flag = true;
     }
 
+    @Override
     public void onSelection(SelectionEvent<String> event) {
       flag = true;
     }
 
+    @Override
     public void onValueChange(ValueChangeEvent<String> event) {
       flag = true;
     }
diff --git a/user/test/com/google/gwt/event/shared/HandlerManagerTest.java b/user/test/com/google/gwt/event/shared/HandlerManagerTest.java
index 642b14c..c405307 100644
--- a/user/test/com/google/gwt/event/shared/HandlerManagerTest.java
+++ b/user/test/com/google/gwt/event/shared/HandlerManagerTest.java
@@ -88,11 +88,13 @@
   public void testConcurrentAdd() {
     final HandlerManager manager = new HandlerManager("bogus source");
     final MouseDownHandler two = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
       }
     };
     MouseDownHandler one = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         manager.addHandler(MouseDownEvent.getType(), two);
         add(this);
@@ -116,6 +118,7 @@
   class ShyHandler implements MouseDownHandler {
     HandlerRegistration r;
 
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(this);
       r.removeHandler();
@@ -145,6 +148,7 @@
   public void testConcurrentAddAndRemoveByNastyUsersTryingToHurtUs() {
     final HandlerManager manager = new HandlerManager("bogus source");
     final MouseDownHandler two = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
       }
@@ -155,6 +159,7 @@
       }
     };
     MouseDownHandler one = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         manager.addHandler(MouseDownEvent.getType(), two).removeHandler();
         add(this);
@@ -185,6 +190,7 @@
     final HandlerManager manager = new HandlerManager("bogus source");
 
     MouseDownHandler one = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         manager.removeHandler(MouseDownEvent.getType(), mouse1);
         manager.addHandler(MouseDownEvent.getType(), mouse1);
@@ -228,6 +234,7 @@
 
     manager.addHandler(MouseDownEvent.getType(), new MouseDownHandler() {
 
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         manager2.fireEvent(event);
       }
@@ -237,6 +244,7 @@
     manager2.addHandler(MouseDownEvent.getType(), adaptor1);
     manager2.addHandler(MouseDownEvent.getType(), new MouseDownHandler() {
 
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         assertEquals("source2", event.getSource());
         assertSame(masterEvent, event);
@@ -245,6 +253,7 @@
     });
     manager.addHandler(MouseDownEvent.getType(), new MouseDownHandler() {
 
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         assertEquals("source1", event.getSource());
         assertSame(masterEvent, event);
@@ -282,17 +291,20 @@
     // Add some handlers to a manager
     final HandlerManager manager = new HandlerManager("source1", true);
     final MouseDownHandler handler0 = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
       }
     };
     final MouseDownHandler handler1 = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         assertNotFired(handler0);
         add(this);
       }
     };
     final MouseDownHandler handler2 = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         assertNotFired(handler0, handler1);
         add(this);
@@ -316,6 +328,7 @@
       this.e = e;
     }
 
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       throw e;
     }    
@@ -355,6 +368,7 @@
     SimpleEventBus reg = new SimpleEventBus();
     
     MouseDownHandler handler = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
         assertNull(event.getSource());
diff --git a/user/test/com/google/gwt/event/shared/HandlerTestBase.java b/user/test/com/google/gwt/event/shared/HandlerTestBase.java
index 9478653..4a3c856 100644
--- a/user/test/com/google/gwt/event/shared/HandlerTestBase.java
+++ b/user/test/com/google/gwt/event/shared/HandlerTestBase.java
@@ -36,10 +36,12 @@
 
   class Adaptor implements ClickHandler, MouseDownHandler {
 
+    @Override
     public void onClick(ClickEvent event) {
       add(this);
     }
 
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(this);
     }
@@ -55,6 +57,7 @@
   private HashSet<EventHandler> active = new HashSet<EventHandler>();
 
   MouseDownHandler mouse1 = new MouseDownHandler() {
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(mouse1);
     }
@@ -66,6 +69,7 @@
   };
 
   MouseDownHandler mouse2 = new MouseDownHandler() {
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(mouse2);
     }
@@ -77,6 +81,7 @@
   };
 
   MouseDownHandler mouse3 = new MouseDownHandler() {
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(mouse3);
     }
@@ -89,6 +94,7 @@
 
   ClickHandler click1 = new ClickHandler() {
 
+    @Override
     public void onClick(ClickEvent event) {
       add(click1);
     }
@@ -101,6 +107,7 @@
 
   ClickHandler click2 = new ClickHandler() {
 
+    @Override
     public void onClick(ClickEvent event) {
       add(click2);
     }
@@ -113,6 +120,7 @@
 
   ClickHandler click3 = new ClickHandler() {
 
+    @Override
     public void onClick(ClickEvent event) {
       add(click3);
     }
diff --git a/user/test/com/google/gwt/event/shared/SimpleEventBusTest.java b/user/test/com/google/gwt/event/shared/SimpleEventBusTest.java
index 30cf208..f259ff2 100644
--- a/user/test/com/google/gwt/event/shared/SimpleEventBusTest.java
+++ b/user/test/com/google/gwt/event/shared/SimpleEventBusTest.java
@@ -35,11 +35,13 @@
   public void testConcurrentAdd() {
     final SimpleEventBus eventBus = new SimpleEventBus();
     final MouseDownHandler two = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
       }
     };
     MouseDownHandler one = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         eventBus.addHandler(MouseDownEvent.getType(), two);
         add(this);
@@ -63,6 +65,7 @@
   class ShyHandler implements MouseDownHandler {
     HandlerRegistration r;
 
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(this);
       r.removeHandler();
@@ -76,6 +79,7 @@
       this.expectedSource = source;
     }
 
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       add(this);
       assertEquals(expectedSource, event.getSource());
@@ -87,6 +91,7 @@
 
     try {
       assertThrowsNpe(new ScheduledCommand() {
+        @Override
         public void execute() {
           eventBus.addHandler(MouseDownEvent.getType(), mouse1);
         }
@@ -102,46 +107,54 @@
     final Type<MouseDownHandler> type = MouseDownEvent.getType();
 
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.addHandler(null, mouse1);
       }
     });
 
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.addHandlerToSource(type, "foo", null);
       }
     });
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.addHandlerToSource(type, null, mouse1);
       }
     });
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.addHandlerToSource(null, "foo", mouse1);
       }
     });
 
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.fireEvent(null);
       }
     });
 
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.fireEventFromSource(null, "");
       }
     });
 
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.fireEventFromSource(new MouseDownEvent() {
         }, null);
       }
     });
     assertThrowsNpe(new ScheduledCommand() {
+      @Override
       public void execute() {
         eventBus.fireEventFromSource(null, "baker");
       }
@@ -194,6 +207,7 @@
   public void testConcurrentAddAndRemoveByNastyUsersTryingToHurtUs() {
     final SimpleEventBus eventBus = new SimpleEventBus();
     final MouseDownHandler two = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
       }
@@ -204,6 +218,7 @@
       }
     };
     MouseDownHandler one = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         eventBus.addHandler(MouseDownEvent.getType(), two).removeHandler();
         add(this);
@@ -237,6 +252,7 @@
       this.e = e;
     }
 
+    @Override
     public void onMouseDown(MouseDownEvent event) {
       throw e;
     }
@@ -283,6 +299,7 @@
     SimpleEventBus reg = new SimpleEventBus();
 
     MouseDownHandler handler = new MouseDownHandler() {
+      @Override
       public void onMouseDown(MouseDownEvent event) {
         add(this);
         assertNull(event.getSource());
diff --git a/user/test/com/google/gwt/http/client/RequestBuilderTest.java b/user/test/com/google/gwt/http/client/RequestBuilderTest.java
index 0df54c4..af6e1f4 100644
--- a/user/test/com/google/gwt/http/client/RequestBuilderTest.java
+++ b/user/test/com/google/gwt/http/client/RequestBuilderTest.java
@@ -127,10 +127,12 @@
       RequestBuilder builder = new RequestBuilder(RequestBuilder.GET,
           "http://www.freebsd.org");
       builder.sendRequest(null, new RequestCallback() {
+        @Override
         public void onError(Request request, Throwable exception) {
           // should never get here
         }
 
+        @Override
         public void onResponseReceived(Request request, Response response) {
           // should never get here
         }
@@ -342,10 +344,12 @@
     builder.setHeader("Foo", "Bar1");
 
     builder.sendRequest(null, new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         fail(exception.getMessage());
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(SERVLET_GET_RESPONSE, response.getText());
         assertEquals(200, response.getStatusCode());
@@ -372,10 +376,12 @@
         getTestBaseURL() + "setTimeout/noTimeout");
     builder.setTimeoutMillis(10000);
     builder.sendRequest(null, new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         fail(exception.getMessage());
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(SERVLET_GET_RESPONSE, response.getText());
         assertEquals(200, response.getStatusCode());
@@ -405,10 +411,12 @@
         getTestBaseURL() + "setTimeout/timeout");
     builder.setTimeoutMillis(2000);
     builder.sendRequest(null, new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         finishTest();
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(SERVLET_GET_RESPONSE, response.getText());
         assertEquals(200, response.getStatusCode());
@@ -443,10 +451,12 @@
       throws RequestException {
     delayTestFinishForRequest();
     builder.setCallback(new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         fail(exception.getMessage());
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(expectedResponse, response.getText());
         assertEquals(200, response.getStatusCode());
@@ -468,10 +478,12 @@
       final String expectedResponse) throws RequestException {
     delayTestFinishForRequest();
     builder.sendRequest(requestData, new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         fail(exception.getMessage());
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(expectedResponse, response.getText());
         assertEquals(200, response.getStatusCode());
diff --git a/user/test/com/google/gwt/http/client/RequestTest.java b/user/test/com/google/gwt/http/client/RequestTest.java
index 0f31fac..8003ebb 100644
--- a/user/test/com/google/gwt/http/client/RequestTest.java
+++ b/user/test/com/google/gwt/http/client/RequestTest.java
@@ -42,10 +42,12 @@
         getTestBaseURL() + "/cancel");
     try {
       Request request = builder.sendRequest(null, new RequestCallback() {
+        @Override
         public void onResponseReceived(Request request, Response response) {
           fail("Request was canceled - no response should be received");
         }
 
+        @Override
         public void onError(Request request, Throwable exception) {
           fail("Request was canceled - no timeout should occur");
         }
@@ -67,9 +69,11 @@
    */
   public void testRequest() {
     RequestCallback callback = new RequestCallback() {
+      @Override
       public void onResponseReceived(Request request, Response response) {
       }
 
+      @Override
       public void onError(Request request, Throwable exception) {
       }
     };
@@ -112,10 +116,12 @@
         getTestBaseURL() + "isPending");
     try {
       Request request = builder.sendRequest(null, new RequestCallback() {
+        @Override
         public void onResponseReceived(Request request, Response response) {
           finishTest();
         }
 
+        @Override
         public void onError(Request request, Throwable exception) {
           finishTest();
         }
diff --git a/user/test/com/google/gwt/http/client/ResponseTest.java b/user/test/com/google/gwt/http/client/ResponseTest.java
index b59585d..52243f6 100644
--- a/user/test/com/google/gwt/http/client/ResponseTest.java
+++ b/user/test/com/google/gwt/http/client/ResponseTest.java
@@ -56,10 +56,12 @@
    */
   public void testGetStatusCode() {
     executeTest(new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         fail();
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(200, response.getStatusCode());
         finishTest();
@@ -81,6 +83,7 @@
 
     executeTest(getHTTPRequestBuilder(getTestBaseURL() + "noResponseText"),
         new RequestCallback() {
+          @Override
           public void onError(Request request, Throwable exception) {
             if (exception instanceof RuntimeException) {
               finishTest();
@@ -89,6 +92,7 @@
             }
           }
 
+          @Override
           public void onResponseReceived(Request request, Response response) {
             try {
               int statusCode = response.getStatusCode();
@@ -106,6 +110,7 @@
    */
   public void testGetStatusText() {
     executeTest(new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         if (exception instanceof RuntimeException) {
 
@@ -114,6 +119,7 @@
         }
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals("OK", response.getStatusText());
         finishTest();
@@ -132,6 +138,7 @@
 
     executeTest(getHTTPRequestBuilder(getTestBaseURL() + "noResponseText"),
         new RequestCallback() {
+          @Override
           public void onError(Request request, Throwable exception) {
             if (exception instanceof RuntimeException) {
               finishTest();
@@ -140,6 +147,7 @@
             }
           }
 
+          @Override
           public void onResponseReceived(Request request, Response response) {
             try {
               String statusText = response.getStatusText();
diff --git a/user/test/com/google/gwt/http/client/URLTest.java b/user/test/com/google/gwt/http/client/URLTest.java
index b070308..2e9b5e3 100644
--- a/user/test/com/google/gwt/http/client/URLTest.java
+++ b/user/test/com/google/gwt/http/client/URLTest.java
@@ -28,6 +28,7 @@
   private final String ENCODED_URL_COMPONENT = "-_.!~*'()%3A%2F%23%3F%40%20%C3%A9%2B";
   private final String ENCODED_URL_COMPONENT_QS = "-_.!~*'()%3A%2F%23%3F%40+%C3%A9%2B";
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.http.HttpSuite";
   }
diff --git a/user/test/com/google/gwt/http/server/RequestTestServlet.java b/user/test/com/google/gwt/http/server/RequestTestServlet.java
index e267650..799146b 100644
--- a/user/test/com/google/gwt/http/server/RequestTestServlet.java
+++ b/user/test/com/google/gwt/http/server/RequestTestServlet.java
@@ -27,6 +27,7 @@
  */
 public class RequestTestServlet extends HttpServlet {
 
+  @Override
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     if (request.getRequestURI().endsWith("/204NoContent")) {
diff --git a/user/test/com/google/gwt/http/server/ResponseTestServlet.java b/user/test/com/google/gwt/http/server/ResponseTestServlet.java
index c888f74..68c5393 100644
--- a/user/test/com/google/gwt/http/server/ResponseTestServlet.java
+++ b/user/test/com/google/gwt/http/server/ResponseTestServlet.java
@@ -27,6 +27,7 @@
  */
 public class ResponseTestServlet extends HttpServlet {
 
+  @Override
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     response.addHeader("header1", "value1");
diff --git a/user/test/com/google/gwt/i18n/MapTestBase.java b/user/test/com/google/gwt/i18n/MapTestBase.java
index 475a3e4..b2ba44d 100644
--- a/user/test/com/google/gwt/i18n/MapTestBase.java
+++ b/user/test/com/google/gwt/i18n/MapTestBase.java
@@ -681,6 +681,7 @@
     }
 
     // Have to implement manually; entrySet doesn't support addAll
+    @Override
     protected Object[] getFullElements() {
       Object[] k = getSampleKeys();
       Object[] v = getSampleValues();
@@ -688,42 +689,50 @@
     }
 
     // Have to implement manually; entrySet doesn't support addAll
+    @Override
     protected Object[] getOtherElements() {
       Object[] k = getOtherKeys();
       Object[] v = getOtherValues();
       return makeEntryArray(k, v);
     }
 
+    @Override
     protected Set makeEmptySet() {
       return makeEmptyMap().entrySet();
     }
 
+    @Override
     protected Set makeFullSet() {
       return makeFullMap().entrySet();
     }
 
+    @Override
     protected boolean isAddSupported() {
       // Collection views don't support add operations.
       return false;
     }
 
+    @Override
     protected boolean isRemoveSupported() {
       // Entry set should only support remove if map does
       return isRemoveModifiable();
     }
 
+    @Override
     protected void resetFull() {
       MapTestBase.this.resetFull();
       collection = map.entrySet();
       TestMapEntrySet.this.confirmed = MapTestBase.this.confirmed.entrySet();
     }
 
+    @Override
     protected void resetEmpty() {
       MapTestBase.this.resetEmpty();
       collection = map.entrySet();
       TestMapEntrySet.this.confirmed = MapTestBase.this.confirmed.entrySet();
     }
 
+    @Override
     protected void verify() {
       super.verify();
       MapTestBase.this.verify();
@@ -735,42 +744,51 @@
       super("");
     }
 
+    @Override
     protected Object[] getFullElements() {
       return getSampleKeys();
     }
 
+    @Override
     protected Object[] getOtherElements() {
       return getOtherKeys();
     }
 
+    @Override
     protected Set makeEmptySet() {
       return makeEmptyMap().keySet();
     }
 
+    @Override
     protected Set makeFullSet() {
       return makeFullMap().keySet();
     }
 
+    @Override
     protected boolean isAddSupported() {
       return false;
     }
 
+    @Override
     protected boolean isRemoveSupported() {
       return isRemoveModifiable();
     }
 
+    @Override
     protected void resetEmpty() {
       MapTestBase.this.resetEmpty();
       collection = map.keySet();
       TestMapKeySet.this.confirmed = MapTestBase.this.confirmed.keySet();
     }
 
+    @Override
     protected void resetFull() {
       MapTestBase.this.resetFull();
       collection = map.keySet();
       TestMapKeySet.this.confirmed = MapTestBase.this.confirmed.keySet();
     }
 
+    @Override
     protected void verify() {
       super.verify();
       MapTestBase.this.verify();
@@ -782,58 +800,70 @@
 
     }
 
+    @Override
     protected Object[] getFullElements() {
       return getSampleValues();
     }
 
+    @Override
     protected Object[] getOtherElements() {
       return getOtherValues();
     }
 
+    @Override
     protected Collection makeCollection() {
       return makeEmptyMap().values();
     }
 
+    @Override
     protected Collection makeFullCollection() {
       return makeFullMap().values();
     }
 
+    @Override
     protected boolean isAddSupported() {
       return false;
     }
 
+    @Override
     protected boolean isRemoveSupported() {
       return isRemoveModifiable();
     }
 
+    @Override
     protected boolean areEqualElementsDistinguishable() {
       // equal values are associated with different keys, so they are
       // distinguishable.
       return true;
     }
 
+    @Override
     protected Collection makeConfirmedCollection() {
       // never gets called, reset methods are overridden
       return null;
     }
 
+    @Override
     protected Collection makeConfirmedFullCollection() {
       // never gets called, reset methods are overridden
       return null;
     }
 
+    @Override
     protected void resetFull() {
       MapTestBase.this.resetFull();
       collection = map.values();
       TestMapValues.this.confirmed = MapTestBase.this.confirmed.values();
     }
 
+    @Override
     protected void resetEmpty() {
       MapTestBase.this.resetEmpty();
       collection = map.values();
       TestMapValues.this.confirmed = MapTestBase.this.confirmed.values();
     }
 
+    @Override
     protected void verify() {
       super.verify();
       MapTestBase.this.verify();
diff --git a/user/test/com/google/gwt/i18n/client/AnnotationsTest.java b/user/test/com/google/gwt/i18n/client/AnnotationsTest.java
index d67e8d9..0d4c858 100644
--- a/user/test/com/google/gwt/i18n/client/AnnotationsTest.java
+++ b/user/test/com/google/gwt/i18n/client/AnnotationsTest.java
@@ -65,6 +65,7 @@
    */
   @DefaultLocale("en")
   public interface Inherit2_en extends Inherit2 {
+    @Override
     @DefaultStringValue("en def")
     String def();
   }
@@ -87,6 +88,7 @@
     @DefaultStringValue("p2 annot")
     String p2();
 
+    @Override
     String shared();
   }
   
diff --git a/user/test/com/google/gwt/i18n/client/ColorsAndShapesAndConcepts.java b/user/test/com/google/gwt/i18n/client/ColorsAndShapesAndConcepts.java
index f199d69..84ad6ab 100644
--- a/user/test/com/google/gwt/i18n/client/ColorsAndShapesAndConcepts.java
+++ b/user/test/com/google/gwt/i18n/client/ColorsAndShapesAndConcepts.java
@@ -22,6 +22,7 @@
   /**
    * Circle overload.
    */
+  @Override
   String circle();
 
   String internationalization();
diff --git a/user/test/com/google/gwt/i18n/client/CustomPluralsTest.java b/user/test/com/google/gwt/i18n/client/CustomPluralsTest.java
index 36478e0..5c4e9e6 100644
--- a/user/test/com/google/gwt/i18n/client/CustomPluralsTest.java
+++ b/user/test/com/google/gwt/i18n/client/CustomPluralsTest.java
@@ -34,7 +34,8 @@
      * A custom plural rule that returns "0", "1", or "other".
      */
     public static class CustomPluralRule implements PluralRule {
-       public PluralForm[] pluralForms() {
+       @Override
+      public PluralForm[] pluralForms() {
           return new PluralForm[] {
              new PluralForm("other", "other"),
              new PluralForm("0", "first"),
@@ -42,7 +43,8 @@
           };
        }
 
-       public int select(int n) {
+       @Override
+      public int select(int n) {
           if (0 <= n && n <= 1) {
              return n + 1;
           }
diff --git a/user/test/com/google/gwt/i18n/client/DateTimeParse_zh_CN_Test.java b/user/test/com/google/gwt/i18n/client/DateTimeParse_zh_CN_Test.java
index e76aedf..6eafe49 100644
--- a/user/test/com/google/gwt/i18n/client/DateTimeParse_zh_CN_Test.java
+++ b/user/test/com/google/gwt/i18n/client/DateTimeParse_zh_CN_Test.java
@@ -26,6 +26,7 @@
  */
 public class DateTimeParse_zh_CN_Test extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.i18n.I18NTest_zh_CN";
   }
diff --git a/user/test/com/google/gwt/i18n/client/NumberParse_fr_Test.java b/user/test/com/google/gwt/i18n/client/NumberParse_fr_Test.java
index e9855ed..2a15060 100644
--- a/user/test/com/google/gwt/i18n/client/NumberParse_fr_Test.java
+++ b/user/test/com/google/gwt/i18n/client/NumberParse_fr_Test.java
@@ -26,6 +26,7 @@
   /**
    * Must refer to a valid module that inherits from com.google.gwt.junit.JUnit.
    */
+  @Override
   public String getModuleName() {
     return "com.google.gwt.i18n.I18NTest_fr";
   }
diff --git a/user/test/com/google/gwt/i18n/client/TestBinding.java b/user/test/com/google/gwt/i18n/client/TestBinding.java
index be9e550..254c7b6 100644
--- a/user/test/com/google/gwt/i18n/client/TestBinding.java
+++ b/user/test/com/google/gwt/i18n/client/TestBinding.java
@@ -28,12 +28,14 @@
 class Wrapper {
 
   static class TestBinding_aa extends TestBinding_ {
+    @Override
     public String a() {
       return "a";
     }
   }
 
   static class TestBinding_bb_CC_DDDDD extends TestBinding_ {
+    @Override
     public String a() {
       return "b_c_d";
     }
@@ -41,10 +43,12 @@
 
   static class TestBinding_bb implements TestBinding {
 
+    @Override
     public String a() {
       return "b";
     }
 
+    @Override
     public String b() {
       return "b";
     }
@@ -52,10 +56,12 @@
 
   static class TestBinding_ implements TestBinding {
 
+    @Override
     public String a() {
       return "default";
     }
 
+    @Override
     public String b() {
       return "default";
     }
@@ -70,16 +76,19 @@
   }
 
   static class TestBindingImpl_aa extends TestBindingImpl_bb_CC_DDDDD {
+    @Override
     public String a() {
       return "a";
     }
   }
 
   static class TestBindingImpl_bb_CC_DDDDD extends TestBindingImpl {
+    @Override
     public String a() {
       return "b_c_d";
     }
 
+    @Override
     public String b() {
       return "b_c_d";
     }
@@ -87,10 +96,12 @@
 
   static class TestBinding extends TestBindingImpl {
 
+    @Override
     public String a() {
       return "never should be here";
     }
 
+    @Override
     public String b() {
       return "never should be here";
     }
@@ -98,10 +109,12 @@
 
   static class TestBindingImpl_ extends TestBindingImpl {
 
+    @Override
     public String a() {
       return "default";
     }
 
+    @Override
     public String b() {
       return "default";
     }
diff --git a/user/test/com/google/gwt/i18n/client/TestLeafBundle.java b/user/test/com/google/gwt/i18n/client/TestLeafBundle.java
index 35924ab..c4f5a13 100644
--- a/user/test/com/google/gwt/i18n/client/TestLeafBundle.java
+++ b/user/test/com/google/gwt/i18n/client/TestLeafBundle.java
@@ -19,6 +19,7 @@
  * TODO: document me.
  */
 public abstract class TestLeafBundle implements TestBinding {
+  @Override
   abstract public String b();
 }
 
@@ -29,6 +30,7 @@
     return "TestLeafBundleImpl";
   }
 
+  @Override
   public String a() {
     throw new IllegalStateException("bad");
   }
diff --git a/user/test/com/google/gwt/i18n/client/resolutiontest/Inners.java b/user/test/com/google/gwt/i18n/client/resolutiontest/Inners.java
index 8abbc8b..d6ddcdc 100644
--- a/user/test/com/google/gwt/i18n/client/resolutiontest/Inners.java
+++ b/user/test/com/google/gwt/i18n/client/resolutiontest/Inners.java
@@ -57,6 +57,7 @@
      * Inner Localizable Impl.
      */
     protected static class InnerLoc_ extends InnerLoc {
+      @Override
       public String string() {
         return "InnerLoc";
       }
@@ -80,6 +81,7 @@
    */
   public static class LocalizableSimpleInner_ implements LocalizableSimpleInner {
 
+    @Override
     public String getLocalizableInner() {
       return "getLocalizableInner";
     }
@@ -112,6 +114,7 @@
 
     /** Test inner inner and static localizable. */
     public static class LocalizableInnerInner_ extends LocalizableInnerInner {
+      @Override
       public String string() {
         return "localizableInnerInner";
       }
@@ -134,6 +137,7 @@
      * OuterLoc piglatin binding.
      */
     public static class OuterLoc_piglatin extends OuterLoc {
+      @Override
       public String string() {
         return "piglatin";
       }
@@ -180,6 +184,7 @@
        */
       public static interface InnerInnerInnerMessages extends
           InnerInnerMessages {
+        @Override
         String innerClassMessages(String a);
       }
     }
diff --git a/user/test/com/google/gwt/i18n/rebind/LocaleUtilsTest.java b/user/test/com/google/gwt/i18n/rebind/LocaleUtilsTest.java
index c490267..0ad2a3b 100644
--- a/user/test/com/google/gwt/i18n/rebind/LocaleUtilsTest.java
+++ b/user/test/com/google/gwt/i18n/rebind/LocaleUtilsTest.java
@@ -146,22 +146,27 @@
       return true;
     }
 
+    @Override
     public String getCurrentValue() {
       return value;
     }
 
+    @Override
     public String getFallbackValue() {
       return fallbackValue;
     }
 
+    @Override
     public List<? extends Set<String>> getFallbackValues(String value) {
       return Collections.emptyList();
     }
 
+    @Override
     public String getName() {
       return name;
     }
 
+    @Override
     public SortedSet<String> getPossibleValues() {
       return possibleValues;
     }
diff --git a/user/test/com/google/gwt/i18n/rebind/LocalizableGeneratorTest.java b/user/test/com/google/gwt/i18n/rebind/LocalizableGeneratorTest.java
index 848a5c0..89eb45b 100644
--- a/user/test/com/google/gwt/i18n/rebind/LocalizableGeneratorTest.java
+++ b/user/test/com/google/gwt/i18n/rebind/LocalizableGeneratorTest.java
@@ -216,10 +216,12 @@
     testClass = typeOracle.getType("foo.TestClass");
     bufs = new HashMap<String, StringWriter>();
     ctx = new CodeGenContext() {
+      @Override
       public JavaSourceWriterBuilder addClass(String pkgName, String className) {
         return addClass(null, pkgName, className);
       }
       
+      @Override
       public JavaSourceWriterBuilder addClass(String superPath, String pkgName, String className) {
         StringWriter buf = new StringWriter();
         bufs.put(className, buf);
@@ -227,26 +229,32 @@
         return new JavaSourceWriterBuilder(apw, pkgName, className);
       }
       
+      @Override
       public void error(String msg) {
         fail(msg);
       }
       
+      @Override
       public void error(String msg, Throwable cause) {
         fail(msg);
       }
       
+      @Override
       public void error(Throwable cause) {
         fail(cause.getMessage());
       }
       
+      @Override
       public void warn(String msg) {
         System.out.println(msg);
       }
       
+      @Override
       public void warn(String msg, Throwable cause) {
         System.out.println(msg);
       }
       
+      @Override
       public void warn(Throwable cause) {
         System.out.println(cause.getMessage());
       }
diff --git a/user/test/com/google/gwt/i18n/server/MessageInterfaceTestBase.java b/user/test/com/google/gwt/i18n/server/MessageInterfaceTestBase.java
index 23e9d75..a866aba 100644
--- a/user/test/com/google/gwt/i18n/server/MessageInterfaceTestBase.java
+++ b/user/test/com/google/gwt/i18n/server/MessageInterfaceTestBase.java
@@ -46,6 +46,7 @@
 
     private final FormVisitorDriver selectorTracker = new FormVisitorDriver();
 
+    @Override
     public void beginForm(int level, String formName)
         throws MessageProcessingException {
       switch (visitState) {
@@ -153,6 +154,7 @@
       visitState++;
     }
 
+    @Override
     public void beginSelector(int level, Parameter selectorArg)
         throws MessageProcessingException {
       switch (visitState) {
@@ -202,6 +204,7 @@
       visitState++;
     }
 
+    @Override
     public void endForm(int level, String formName) {
       switch (visitState) {
         case 7:
@@ -321,6 +324,7 @@
       // TODO Auto-generated method stub
     }
 
+    @Override
     public void endSelector(int level, Parameter selectorArg) {
       switch (visitState) {
         case 14:
diff --git a/user/test/com/google/gwt/json/client/JSONTest.java b/user/test/com/google/gwt/json/client/JSONTest.java
index fcdda20..edc00b2 100644
--- a/user/test/com/google/gwt/json/client/JSONTest.java
+++ b/user/test/com/google/gwt/json/client/JSONTest.java
@@ -105,6 +105,7 @@
   /**
    * Returns the module name for GWT unit test running.
    */
+  @Override
   public String getModuleName() {
     return "com.google.gwt.json.JSON";
   }
diff --git a/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java b/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java
index 5435717..7817583 100644
--- a/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java
+++ b/user/test/com/google/gwt/jsonp/client/JsonpRequestTest.java
@@ -39,6 +39,7 @@
       this.expectedMessage = expectedMessage;
     }
 
+    @Override
     public void onFailure(Throwable throwable) {
       if (id == currentTestId) {
         assertEquals(expectedMessage, throwable.getMessage());
@@ -46,6 +47,7 @@
       }
     }
 
+    @Override
     public void onSuccess(T value) {
       if (id == currentTestId) {
         fail();
@@ -71,12 +73,14 @@
       this.expectedValue = expectedValue;
     }
 
+    @Override
     public void onFailure(Throwable throwable) {
       if (id == currentTestId) {
         fail();
       }
     }
 
+    @Override
     public void onSuccess(T value) {
       if (id == currentTestId) {
         assertEquals(expectedValue, value);
@@ -93,11 +97,13 @@
    * Checks that a timeout happens.
    */
   private class AssertTimeoutExceptionCallback<T> implements AsyncCallback<T> {
+    @Override
     public void onFailure(Throwable throwable) {
       assertTrue(throwable instanceof TimeoutException);
       finishTest();
     }
 
+    @Override
     public void onSuccess(T value) {
       fail();
     }
diff --git a/user/test/com/google/gwt/junit/ForwardingTestResult.java b/user/test/com/google/gwt/junit/ForwardingTestResult.java
index 22c3cb8..41e9c7e 100644
--- a/user/test/com/google/gwt/junit/ForwardingTestResult.java
+++ b/user/test/com/google/gwt/junit/ForwardingTestResult.java
@@ -36,58 +36,72 @@
     delegate = result;
   }
 
+  @Override
   public void addError(Test test, Throwable t) {
     delegate.addError(test, t);
   }
 
+  @Override
   public void addFailure(Test test, AssertionFailedError t) {
     delegate.addFailure(test, t);
   }
 
+  @Override
   public void addListener(TestListener listener) {
     delegate.addListener(listener);
   }
 
+  @Override
   public void removeListener(TestListener listener) {
     delegate.removeListener(listener);
   }
 
+  @Override
   public void endTest(Test test) {
     delegate.endTest(test);
   }
 
+  @Override
   public int errorCount() {
     return delegate.errorCount();
   }
 
+  @Override
   public Enumeration<TestFailure> errors() {
     return delegate.errors();
   }
 
+  @Override
   public int failureCount() {
     return delegate.failureCount();
   }
 
+  @Override
   public Enumeration<TestFailure> failures() {
     return delegate.failures();
   }
 
+  @Override
   public int runCount() {
     return delegate.runCount();
   }
 
+  @Override
   public boolean shouldStop() {
     return delegate.shouldStop();
   }
 
+  @Override
   public void startTest(Test test) {
     delegate.startTest(test);
   }
 
+  @Override
   public void stop() {
     delegate.stop();
   }
 
+  @Override
   public boolean wasSuccessful() {
     return delegate.wasSuccessful();
   }
diff --git a/user/test/com/google/gwt/junit/client/DevModeOnCompiledScriptTest.java b/user/test/com/google/gwt/junit/client/DevModeOnCompiledScriptTest.java
index 77cfeb7..a7a623e 100644
--- a/user/test/com/google/gwt/junit/client/DevModeOnCompiledScriptTest.java
+++ b/user/test/com/google/gwt/junit/client/DevModeOnCompiledScriptTest.java
@@ -42,10 +42,12 @@
   public Strategy getStrategy() {
     final Strategy impl = super.getStrategy();
     return new Strategy() {
+      @Override
       public String getSyntheticModuleExtension() {
         return impl.getSyntheticModuleExtension();
       }
 
+      @Override
       public void processModule(ModuleDef module) {
         impl.processModule(module);
         try {
diff --git a/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java b/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java
index 9bdf3a5..fb46644 100644
--- a/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java
+++ b/user/test/com/google/gwt/junit/client/GWTTestCaseAsyncTest.java
@@ -178,6 +178,7 @@
     new Timer() {
       private int i = 0;
 
+      @Override
       public void run() {
         if (++i < 4) {
           delayTestFinish(200);
diff --git a/user/test/com/google/gwt/junit/client/GWTTestCaseTestBase.java b/user/test/com/google/gwt/junit/client/GWTTestCaseTestBase.java
index 3bf510b..91b70dd 100644
--- a/user/test/com/google/gwt/junit/client/GWTTestCaseTestBase.java
+++ b/user/test/com/google/gwt/junit/client/GWTTestCaseTestBase.java
@@ -28,6 +28,7 @@
  */
 abstract class GWTTestCaseTestBase extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.junit.JUnit";
   }
@@ -42,6 +43,7 @@
     Event.sinkEvents(btn, Event.ONCLICK);
 
     EventListener listener = new EventListener() {
+      @Override
       public void onBrowserEvent(Event event) {
         failNow(failMsg);
       }
diff --git a/user/test/com/google/gwt/junit/client/GWTTestCaseUncaughtExceptionHandlerTest.java b/user/test/com/google/gwt/junit/client/GWTTestCaseUncaughtExceptionHandlerTest.java
index e018477..3f2728d 100644
--- a/user/test/com/google/gwt/junit/client/GWTTestCaseUncaughtExceptionHandlerTest.java
+++ b/user/test/com/google/gwt/junit/client/GWTTestCaseUncaughtExceptionHandlerTest.java
@@ -29,6 +29,7 @@
 public class GWTTestCaseUncaughtExceptionHandlerTest extends GWTTestCaseTestBase {
 
   private UncaughtExceptionHandler myHandler = new UncaughtExceptionHandler() {
+    @Override
     public void onUncaughtException(Throwable e) { /* NO_OP */}
   };
 
diff --git a/user/test/com/google/gwt/junit/client/ParallelRemoteTest.java b/user/test/com/google/gwt/junit/client/ParallelRemoteTest.java
index 3b63e94..8b44a5d 100644
--- a/user/test/com/google/gwt/junit/client/ParallelRemoteTest.java
+++ b/user/test/com/google/gwt/junit/client/ParallelRemoteTest.java
@@ -29,6 +29,7 @@
  */
 public class ParallelRemoteTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.junit.JUnit";
   }
diff --git a/user/test/com/google/gwt/junit/client/PropertyDefiningGWTTest.java b/user/test/com/google/gwt/junit/client/PropertyDefiningGWTTest.java
index b311f39..b623a4c 100644
--- a/user/test/com/google/gwt/junit/client/PropertyDefiningGWTTest.java
+++ b/user/test/com/google/gwt/junit/client/PropertyDefiningGWTTest.java
@@ -36,6 +36,7 @@
    * Implementation used in one deferred binding.
    */
   public static class TestImplOne implements TestInterface {
+    @Override
     public String value() {
       return "one";
     }
@@ -45,6 +46,7 @@
    * Implementation used in the other deferred binding.
    */
   public static class TestImplTwo implements TestInterface {
+    @Override
     public String value() {
       return "two";
     }
diff --git a/user/test/com/google/gwt/layout/client/LayoutTest.java b/user/test/com/google/gwt/layout/client/LayoutTest.java
index 129ddcc..c0468b6 100644
--- a/user/test/com/google/gwt/layout/client/LayoutTest.java
+++ b/user/test/com/google/gwt/layout/client/LayoutTest.java
@@ -494,6 +494,7 @@
   private void testAnimationTransitions_LTWH_LTRB(final Unit unit0,
       final Unit unit1) {
     testAnimationTransitionsHelper(new LayerInitializer() {
+      @Override
       public void setupLayers(Layer l0, Layer l1) {
         l0.setLeftWidth(0, unit0, 10, unit0);
         l0.setTopHeight(0, unit0, 10, unit0);
@@ -501,6 +502,7 @@
         l1.setTopBottom(1, unit1, 1, unit1);
       }
     }, new LayerInitializer() {
+      @Override
       public void setupLayers(Layer l0, Layer l1) {
         l1.setLeftWidth(0, unit0, 10, unit0);
         l1.setTopHeight(0, unit0, 10, unit0);
@@ -515,6 +517,7 @@
   private void testAnimationTransitions_LTWH_RBWH(final Unit unit0,
       final Unit unit1) {
     testAnimationTransitionsHelper(new LayerInitializer() {
+      @Override
       public void setupLayers(Layer l0, Layer l1) {
         l0.setLeftWidth(0, unit0, 10, unit0);
         l0.setTopHeight(0, unit0, 10, unit0);
@@ -522,6 +525,7 @@
         l1.setBottomHeight(0, unit1, 10, unit1);
       }
     }, new LayerInitializer() {
+      @Override
       public void setupLayers(Layer l0, Layer l1) {
         l1.setLeftWidth(0, unit0, 10, unit0);
         l1.setTopHeight(0, unit0, 10, unit0);
@@ -536,6 +540,7 @@
   private void testAnimationTransitions_RBWH_LTRB(final Unit unit0,
       final Unit unit1) {
     testAnimationTransitionsHelper(new LayerInitializer() {
+      @Override
       public void setupLayers(Layer l0, Layer l1) {
         l0.setRightWidth(0, unit0, 10, unit0);
         l0.setBottomHeight(0, unit0, 10, unit0);
@@ -543,6 +548,7 @@
         l1.setTopBottom(1, unit1, 1, unit1);
       }
     }, new LayerInitializer() {
+      @Override
       public void setupLayers(Layer l0, Layer l1) {
         l1.setRightWidth(0, unit0, 10, unit0);
         l1.setBottomHeight(0, unit0, 10, unit0);
@@ -572,6 +578,7 @@
     after.setupLayers(layer0, layer1);
     delayTestFinish(TEST_DELAY);
     layout.layout(100, new Layout.AnimationCallback() {
+      @Override
       public void onAnimationComplete() {
         // Assert that the two layers have swapped positions.
         assertEquals(l0, wrapper1.getOffsetLeft());
@@ -587,6 +594,7 @@
         finishTest();
       }
 
+      @Override
       public void onLayout(Layer layer, double progress) {
       }
     });
diff --git a/user/test/com/google/gwt/module/client/DoubleScriptInjectionTest.java b/user/test/com/google/gwt/module/client/DoubleScriptInjectionTest.java
index dc7653c..2d3f823 100644
--- a/user/test/com/google/gwt/module/client/DoubleScriptInjectionTest.java
+++ b/user/test/com/google/gwt/module/client/DoubleScriptInjectionTest.java
@@ -24,6 +24,7 @@
  */
 public class DoubleScriptInjectionTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.module.DoubleScriptInjectionTest";
   }
diff --git a/user/test/com/google/gwt/module/client/NoDeployTest.java b/user/test/com/google/gwt/module/client/NoDeployTest.java
index 75f2e4a..0ceb4dd 100644
--- a/user/test/com/google/gwt/module/client/NoDeployTest.java
+++ b/user/test/com/google/gwt/module/client/NoDeployTest.java
@@ -101,10 +101,12 @@
     delayTestFinish(RESPONSE_DELAY);
     builder.sendRequest("", new RequestCallback() {
 
+      @Override
       public void onError(Request request, Throwable exception) {
         fail();
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(200, response.getStatusCode());
         assertEquals(path, response.getText());
@@ -129,10 +131,12 @@
     delayTestFinish(RESPONSE_DELAY);
     builder.sendRequest("", new RequestCallback() {
 
+      @Override
       public void onError(Request request, Throwable exception) {
         throw new RuntimeException(exception);
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(404, response.getStatusCode());
         finishTest();
@@ -157,10 +161,12 @@
     delayTestFinish(RESPONSE_DELAY);
     builder.sendRequest("", new RequestCallback() {
 
+      @Override
       public void onError(Request request, Throwable exception) {
         throw new RuntimeException(exception);
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(404, response.getStatusCode());
         finishTest();
@@ -185,10 +191,12 @@
     delayTestFinish(RESPONSE_DELAY);
     builder.sendRequest("", new RequestCallback() {
 
+      @Override
       public void onError(Request request, Throwable exception) {
         fail();
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(200, response.getStatusCode());
         assertEquals(path, response.getText().trim());
diff --git a/user/test/com/google/gwt/module/client/ScriptInjectionEncodingTest.java b/user/test/com/google/gwt/module/client/ScriptInjectionEncodingTest.java
index 396cd81..76e4216 100644
--- a/user/test/com/google/gwt/module/client/ScriptInjectionEncodingTest.java
+++ b/user/test/com/google/gwt/module/client/ScriptInjectionEncodingTest.java
@@ -22,6 +22,7 @@
  */
 public class ScriptInjectionEncodingTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.module.ScriptInjectionEncodingTest";
   }
diff --git a/user/test/com/google/gwt/module/client/SingleScriptInjectionTest.java b/user/test/com/google/gwt/module/client/SingleScriptInjectionTest.java
index 2d85557..7f4d938 100644
--- a/user/test/com/google/gwt/module/client/SingleScriptInjectionTest.java
+++ b/user/test/com/google/gwt/module/client/SingleScriptInjectionTest.java
@@ -24,6 +24,7 @@
  */
 public class SingleScriptInjectionTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.module.SingleScriptInjectionTest";
   }
diff --git a/user/test/com/google/gwt/place/impl/PlaceHistoryMapperGeneratorTest.java b/user/test/com/google/gwt/place/impl/PlaceHistoryMapperGeneratorTest.java
index 402477b..245ab8a 100644
--- a/user/test/com/google/gwt/place/impl/PlaceHistoryMapperGeneratorTest.java
+++ b/user/test/com/google/gwt/place/impl/PlaceHistoryMapperGeneratorTest.java
@@ -54,9 +54,11 @@
    * generate anything either).
    */
   static class LocalConcreteClass implements LocalNoFactory {
+    @Override
     public Place getPlace(String token) {
       return null;
     }
+    @Override
     public String getToken(Place place) {
       return null;
     }
diff --git a/user/test/com/google/gwt/place/shared/MockPlaceControllerDelegate.java b/user/test/com/google/gwt/place/shared/MockPlaceControllerDelegate.java
index 7bb2ff0..ced7a04 100644
--- a/user/test/com/google/gwt/place/shared/MockPlaceControllerDelegate.java
+++ b/user/test/com/google/gwt/place/shared/MockPlaceControllerDelegate.java
@@ -24,9 +24,11 @@
   boolean confirm = false;
   ClosingHandler handler = null;
 
+  @Override
   public HandlerRegistration addWindowClosingHandler(ClosingHandler handler) {
     this.handler = handler;
     return new HandlerRegistration() {
+      @Override
       public void removeHandler() {
         throw new UnsupportedOperationException("Auto-generated method stub");
       }
@@ -39,6 +41,7 @@
     message = event.getMessage();
   }
   
+  @Override
   public boolean confirm(String message) {
     this.message = message;
     return confirm;
diff --git a/user/test/com/google/gwt/place/shared/PlaceControllerTest.java b/user/test/com/google/gwt/place/shared/PlaceControllerTest.java
index c3f133d..12c2182 100644
--- a/user/test/com/google/gwt/place/shared/PlaceControllerTest.java
+++ b/user/test/com/google/gwt/place/shared/PlaceControllerTest.java
@@ -32,6 +32,7 @@
     Place calledWith = null;
     String warning = "Stop fool!";
 
+    @Override
     public void onPlaceChangeRequest(PlaceChangeRequestEvent event) {
       calledWith = event.getNewPlace();
       event.setWarning(warning);
@@ -44,6 +45,7 @@
   private class SimpleHandler implements PlaceChangeEvent.Handler {
     MyPlace calledWith = null;
 
+    @Override
     public void onPlaceChange(PlaceChangeEvent event) {
       calledWith = (MyPlace) event.getNewPlace();
     }
diff --git a/user/test/com/google/gwt/place/shared/PlaceHistoryHandlerTest.java b/user/test/com/google/gwt/place/shared/PlaceHistoryHandlerTest.java
index 05846c7..10b7678 100644
--- a/user/test/com/google/gwt/place/shared/PlaceHistoryHandlerTest.java
+++ b/user/test/com/google/gwt/place/shared/PlaceHistoryHandlerTest.java
@@ -39,16 +39,19 @@
     ValueChangeHandler<String> handler;
     String token = "";
 
+    @Override
     public HandlerRegistration addValueChangeHandler(
         ValueChangeHandler<String> valueChangeHandler) {
       this.handler = valueChangeHandler;
       return registration;
     }
 
+    @Override
     public String getToken() {
       return token;
     }
 
+    @Override
     public void newItem(String token, boolean issueEvent) {
       assertFalse(issueEvent);
       this.token = token;
@@ -62,6 +65,7 @@
   
   private static class MockPlaceHistoryMapper implements PlaceHistoryMapper {
 
+    @Override
     public Place getPlace(String token) {
       if (TOKEN1.equals(token)) {
         return PLACE1;
@@ -73,6 +77,7 @@
       return null;
     }
 
+    @Override
     public String getToken(Place place) {
       if (place == PLACE1) {
         return TOKEN1;
@@ -86,6 +91,7 @@
   }
 
   private static class Registration implements HandlerRegistration {
+    @Override
     public void removeHandler() {
       throw new UnsupportedOperationException("Auto-generated method stub");
     }
diff --git a/user/test/com/google/gwt/place/testplaces/AbstractTokenizer.java b/user/test/com/google/gwt/place/testplaces/AbstractTokenizer.java
index c767d73..4d47a1e 100644
--- a/user/test/com/google/gwt/place/testplaces/AbstractTokenizer.java
+++ b/user/test/com/google/gwt/place/testplaces/AbstractTokenizer.java
@@ -22,8 +22,10 @@
  * @param <P> A place type (for testing generics).
  */
 public abstract class AbstractTokenizer<P extends Place1> implements PlaceTokenizer<P> {
+  @Override
   public abstract P getPlace(String token);
 
+  @Override
   public String getToken(P place) {
     return place.content;
   }
diff --git a/user/test/com/google/gwt/place/testplaces/Place1.java b/user/test/com/google/gwt/place/testplaces/Place1.java
index 587b182..5dc0e22 100644
--- a/user/test/com/google/gwt/place/testplaces/Place1.java
+++ b/user/test/com/google/gwt/place/testplaces/Place1.java
@@ -36,10 +36,12 @@
   public static class Tokenizer implements PlaceTokenizer<Place1> {
     public static final String PREFIX = "T1";
 
+    @Override
     public Place1 getPlace(String token) {
       return new Place1(token);
     }
 
+    @Override
     public String getToken(Place1 place) {
       return place.content;
     }
diff --git a/user/test/com/google/gwt/place/testplaces/Place6.java b/user/test/com/google/gwt/place/testplaces/Place6.java
index 4c609c6..be1724f 100644
--- a/user/test/com/google/gwt/place/testplaces/Place6.java
+++ b/user/test/com/google/gwt/place/testplaces/Place6.java
@@ -34,10 +34,12 @@
    */
   @Prefix("")
   public static class Tokenizer implements PlaceTokenizer<Place6> {
+    @Override
     public Place6 getPlace(String token) {
       return new Place6(token);
     }
 
+    @Override
     public String getToken(Place6 place) {
       return place.content;
     }
diff --git a/user/test/com/google/gwt/place/testplaces/Tokenizer2.java b/user/test/com/google/gwt/place/testplaces/Tokenizer2.java
index 520efd7..3825484 100644
--- a/user/test/com/google/gwt/place/testplaces/Tokenizer2.java
+++ b/user/test/com/google/gwt/place/testplaces/Tokenizer2.java
@@ -21,10 +21,12 @@
  * Used by tests of {@link com.google.gwt.place.rebind.PlaceHistoryMapperGenerator}.
  */
 public class Tokenizer2 implements PlaceTokenizer<Place2> {
+  @Override
   public Place2 getPlace(String token) {
     return new Place2(token);
   }
 
+  @Override
   public String getToken(Place2 place) {
     return place.content;
   }
diff --git a/user/test/com/google/gwt/place/testplaces/Tokenizer3.java b/user/test/com/google/gwt/place/testplaces/Tokenizer3.java
index 854e488..87330e5 100644
--- a/user/test/com/google/gwt/place/testplaces/Tokenizer3.java
+++ b/user/test/com/google/gwt/place/testplaces/Tokenizer3.java
@@ -22,10 +22,12 @@
  */
 public class Tokenizer3 implements PlaceTokenizer<Place3> {
 
+  @Override
   public Place3 getPlace(String token) {
     return new Place3(token);
   }
 
+  @Override
   public String getToken(Place3 place) {
     return place.content;
   }
diff --git a/user/test/com/google/gwt/place/testplaces/Tokenizer4.java b/user/test/com/google/gwt/place/testplaces/Tokenizer4.java
index eba0d0b..7dba3fa 100644
--- a/user/test/com/google/gwt/place/testplaces/Tokenizer4.java
+++ b/user/test/com/google/gwt/place/testplaces/Tokenizer4.java
@@ -19,6 +19,7 @@
  * Used by tests of {@link com.google.gwt.place.rebind.PlaceHistoryMapperGenerator}.
  */
 public class Tokenizer4 extends AbstractTokenizer<Place4> {
+  @Override
   public Place4 getPlace(String token) {
     return new Place4(token);
   }
diff --git a/user/test/com/google/gwt/precompress/linker/PrecompressLinkerTest.java b/user/test/com/google/gwt/precompress/linker/PrecompressLinkerTest.java
index 6d58363..89452c0 100644
--- a/user/test/com/google/gwt/precompress/linker/PrecompressLinkerTest.java
+++ b/user/test/com/google/gwt/precompress/linker/PrecompressLinkerTest.java
@@ -55,23 +55,28 @@
       this.hasMultipleValues = hasMultipleValues;
     }
 
+    @Override
     public int compareTo(MockConfigurationProperty o) {
       return getName().compareTo(o.getName());
     }
 
+    @Override
     public String getName() {
       return name;
     }
 
+    @Override
     @Deprecated
     public String getValue() {
       return values.get(0);
     }
 
+    @Override
     public List<String> getValues() {
       return values;
     }
 
+    @Override
     public boolean hasMultipleValues() {
       return hasMultipleValues;
     }
@@ -83,31 +88,38 @@
   }
 
   private class MockLinkerContext implements LinkerContext {
+    @Override
     public SortedSet<ConfigurationProperty> getConfigurationProperties() {
       return new TreeSet<ConfigurationProperty>(Arrays.asList(
           propLeaveOriginals, propPathRegexes));
     }
 
+    @Override
     public String getModuleFunctionName() {
       return "MockModule";
     }
 
+    @Override
     public long getModuleLastModified() {
       return 0;
     }
 
+    @Override
     public String getModuleName() {
       return "MockModule";
     }
 
+    @Override
     public SortedSet<SelectionProperty> getProperties() {
       return new TreeSet<SelectionProperty>();
     }
 
+    @Override
     public boolean isOutputCompact() {
       return true;
     }
 
+    @Override
     public String optimizeJavaScript(TreeLogger logger, String jsProgram) {
       return jsProgram;
     }
diff --git a/user/test/com/google/gwt/resources/client/CSSResourceTest.java b/user/test/com/google/gwt/resources/client/CSSResourceTest.java
index be907ae..a64bc24 100644
--- a/user/test/com/google/gwt/resources/client/CSSResourceTest.java
+++ b/user/test/com/google/gwt/resources/client/CSSResourceTest.java
@@ -28,6 +28,7 @@
   interface ChildResources extends Resources {
     ChildResources INSTANCE = GWT.create(ChildResources.class);
 
+    @Override
     @Source("16x16.png")
     ImageResource spriteMethod();
   }
@@ -128,6 +129,7 @@
   }
 
   interface MyCssResource extends CssResource, MyNonCssResource {
+    @Override
     @ClassName("replacement-not-java-ident")
     String nameOverride();
   }
@@ -136,6 +138,7 @@
     String local();
 
     // This shouldn't make a difference
+    @Override
     String replacement();
   }
 
@@ -143,6 +146,7 @@
   interface MyCssResourceB extends MyCssResource, SharedClasses {
     String local();
 
+    @Override
     String sharedOverrideClass();
   }
 
diff --git a/user/test/com/google/gwt/resources/client/ExternalTextResourceTest.java b/user/test/com/google/gwt/resources/client/ExternalTextResourceTest.java
index 56b01df..822e657 100644
--- a/user/test/com/google/gwt/resources/client/ExternalTextResourceTest.java
+++ b/user/test/com/google/gwt/resources/client/ExternalTextResourceTest.java
@@ -60,11 +60,13 @@
         return done;
       }
       
+      @Override
       public void onError(ResourceException e) {
         e.printStackTrace();
         fail("Unable to fetch " + e.getResource().getName());
       }
 
+      @Override
       public void onSuccess(TextResource resource) {
         assertEquals(name, resource.getName());
         assertEquals(contents, resource.getText());
diff --git a/user/test/com/google/gwt/resources/client/ImageResourceTest.java b/user/test/com/google/gwt/resources/client/ImageResourceTest.java
index 14d8a8e..2db249c 100644
--- a/user/test/com/google/gwt/resources/client/ImageResourceTest.java
+++ b/user/test/com/google/gwt/resources/client/ImageResourceTest.java
@@ -146,11 +146,13 @@
     // See if the size of the image strip is what we expect
     Image i = new Image(a.getSafeUri());
     i.addLoadHandler(new LoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         finishTest();
       }
     });
     i.addErrorHandler(new ErrorHandler() {
+      @Override
       public void onError(ErrorEvent event) {
         fail("ErrorEvent");
       }
diff --git a/user/test/com/google/gwt/resources/rg/CssTestCase.java b/user/test/com/google/gwt/resources/rg/CssTestCase.java
index 9ad51c2..db4fb65 100644
--- a/user/test/com/google/gwt/resources/rg/CssTestCase.java
+++ b/user/test/com/google/gwt/resources/rg/CssTestCase.java
@@ -79,47 +79,57 @@
    * Total fake, no implementations.
    */
   private static class FakeContext implements ResourceContext {
+    @Override
     public String deploy(String suggestedFileName, String mimeType,
         byte[] data, boolean forceExternal) throws UnableToCompleteException {
       return null;
     }
 
+    @Override
     @Deprecated
     public String deploy(URL resource, boolean forceExternal)
         throws UnableToCompleteException {
       return null;
     }
 
+    @Override
     public String deploy(URL resource, String mimeType, boolean forceExternal)
         throws UnableToCompleteException {
       return null;
     }
 
+    @Override
     public <T> T getCachedData(String key, Class<T> clazz) {
       return null;
     }
 
+    @Override
     public JClassType getClientBundleType() {
       return null;
     }
 
+    @Override
     public GeneratorContext getGeneratorContext() {
       return null;
     }
 
+    @Override
     public String getImplementationSimpleSourceName()
         throws IllegalStateException {
       return null;
     }
     
+    @Override
     public ClientBundleRequirements getRequirements() {
       return null;
     }
 
+    @Override
     public <T> boolean putCachedData(String key, T value) {
       return false;
     }
 
+    @Override
     public boolean supportsDataUrls() {
       return true;
     }
diff --git a/user/test/com/google/gwt/storage/client/StorageTest.java b/user/test/com/google/gwt/storage/client/StorageTest.java
index 7298186..7447b5d 100644
--- a/user/test/com/google/gwt/storage/client/StorageTest.java
+++ b/user/test/com/google/gwt/storage/client/StorageTest.java
@@ -222,6 +222,7 @@
     delayTestFinish(2000);
     storage.setItem("tcseFoo", "tcseBar");
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         assertNull(event.getKey());
         assertNull(event.getOldValue());
@@ -245,6 +246,7 @@
     storage.setItem("tsiseFoo", "tsiseBarOld");
 
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         assertEquals("tsiseFoo", event.getKey());
         assertEquals("tsiseBarNew", event.getNewValue());
@@ -268,6 +270,7 @@
     storage.setItem("triseFoo", "triseBarOld");
 
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         assertEquals("triseFoo", event.getKey());
         finishTest();
@@ -288,6 +291,7 @@
     delayTestFinish(3000);
 
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         fail("Storage change should not have fired.");
         eventFired[0] = true;
@@ -321,6 +325,7 @@
     storage.setItem("teieFoo", "teieBar");
 
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         if ("teieFoo".equals(event.getKey())) {
           storage.clear();
@@ -350,6 +355,7 @@
     storage.setItem("tmehFoo", "tmehBar");
 
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         if ("tmehFoo".equals(event.getKey())) {
           eventHandledCount[0]++;
@@ -362,6 +368,7 @@
     storage.addStorageEventHandler(handler);
 
     handler2 = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         if ("tmehFoo".equals(event.getKey())) {
           eventHandledCount[0]++;
@@ -383,6 +390,7 @@
     delayTestFinish(2000);
     storage.setItem("tesaFoo", "tesaBar");
     handler = new StorageEvent.Handler() {
+      @Override
       public void onStorageChange(StorageEvent event) {
         Storage eventStorage = event.getStorageArea();
         assertEquals(storage, eventStorage);
diff --git a/user/test/com/google/gwt/uibinder/attributeparsers/FieldReferenceConverterTest.java b/user/test/com/google/gwt/uibinder/attributeparsers/FieldReferenceConverterTest.java
index b7cf434..ed118c0 100644
--- a/user/test/com/google/gwt/uibinder/attributeparsers/FieldReferenceConverterTest.java
+++ b/user/test/com/google/gwt/uibinder/attributeparsers/FieldReferenceConverterTest.java
@@ -25,14 +25,17 @@
 public class FieldReferenceConverterTest extends TestCase {
 
   FieldReferenceConverter.Delegate frDelegate = new FieldReferenceConverter.Delegate() {
+    @Override
     public String handleFragment(String path) {
       return "*" + path + "*";
     }
 
+    @Override
     public String handleReference(String reference) {
       return String.format(" & %s & ", reference);
     }
     
+    @Override
     public JType[] getTypes() {
       return null;
     }
diff --git a/user/test/com/google/gwt/uibinder/rebind/TokenatorTest.java b/user/test/com/google/gwt/uibinder/rebind/TokenatorTest.java
index 5bd8b6f..40b4c32 100644
--- a/user/test/com/google/gwt/uibinder/rebind/TokenatorTest.java
+++ b/user/test/com/google/gwt/uibinder/rebind/TokenatorTest.java
@@ -66,6 +66,7 @@
         new Tokenator.Resolver() {
           int i = 0;
 
+          @Override
           public String resolveToken(String token) {
             return String.format("%d", i++);
           }
diff --git a/user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java b/user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java
index c34fc7a..a9cdc01 100644
--- a/user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java
+++ b/user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java
@@ -225,6 +225,7 @@
     public void setValue3(@SuppressWarnings("unused") Integer b) {
     }
     
+    @Override
     public void setValue4(int b) {
     }
   }
diff --git a/user/test/com/google/gwt/uibinder/test/client/ClickyLink.java b/user/test/com/google/gwt/uibinder/test/client/ClickyLink.java
index 26e16cb..6ee15a5 100644
--- a/user/test/com/google/gwt/uibinder/test/client/ClickyLink.java
+++ b/user/test/com/google/gwt/uibinder/test/client/ClickyLink.java
@@ -49,6 +49,7 @@
     sinkEvents(Event.ONCLICK);
 
     addDomHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent event) {
         if (popupText != null) {
           Window.alert(popupText);
@@ -72,6 +73,7 @@
     return popupText;
   }
 
+  @Override
   public String getText() {
     return getElement().getInnerText();
   }
@@ -80,6 +82,7 @@
     popupText = text;
   }
 
+  @Override
   public void setText(String text) {
     getElement().setInnerText(text);
   }
diff --git a/user/test/com/google/gwt/uibinder/test/client/CssImportScopeSample.java b/user/test/com/google/gwt/uibinder/test/client/CssImportScopeSample.java
index d92f049..5b298e6 100644
--- a/user/test/com/google/gwt/uibinder/test/client/CssImportScopeSample.java
+++ b/user/test/com/google/gwt/uibinder/test/client/CssImportScopeSample.java
@@ -69,10 +69,12 @@
     setElement(binder.createAndBindUi(this));
   }
 
+  @Override
   public String getText() {
     return outer.getInnerText();
   }
 
+  @Override
   public void setText(String text) {
     outer.setInnerText(text);
   }
diff --git a/user/test/com/google/gwt/uibinder/test/client/CustomEventWidget.java b/user/test/com/google/gwt/uibinder/test/client/CustomEventWidget.java
index 8ef3140..42b4e33 100644
--- a/user/test/com/google/gwt/uibinder/test/client/CustomEventWidget.java
+++ b/user/test/com/google/gwt/uibinder/test/client/CustomEventWidget.java
@@ -33,6 +33,7 @@
   public CustomEventWidget(final T value) {
     this.value = value;
     addClickHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent event) {
         fireEvent(new CustomEvent<T>(value));
       }
diff --git a/user/test/com/google/gwt/uibinder/test/client/ExplicitElementWidget.java b/user/test/com/google/gwt/uibinder/test/client/ExplicitElementWidget.java
index a31993e..1b21c62 100644
--- a/user/test/com/google/gwt/uibinder/test/client/ExplicitElementWidget.java
+++ b/user/test/com/google/gwt/uibinder/test/client/ExplicitElementWidget.java
@@ -30,18 +30,22 @@
     setElement(Document.get().createElement(tag));
   }
   
+  @Override
   public String getHTML() {
     return getElement().getInnerHTML();
   }
 
+  @Override
   public String getText() {
     return getElement().getInnerText();
   }
 
+  @Override
   public void setHTML(String html) {
     getElement().setInnerHTML(html);
   }
 
+  @Override
   public void setText(String text) {
     getElement().setInnerText(text);
   }
diff --git a/user/test/com/google/gwt/uibinder/test/client/SimpleRenderable.java b/user/test/com/google/gwt/uibinder/test/client/SimpleRenderable.java
index de8fc30..fecf093 100644
--- a/user/test/com/google/gwt/uibinder/test/client/SimpleRenderable.java
+++ b/user/test/com/google/gwt/uibinder/test/client/SimpleRenderable.java
@@ -69,6 +69,7 @@
     setElement(element);
   }
 
+  @Override
   public String getText() {
     return text;
   }
diff --git a/user/test/com/google/gwt/uibinder/test/client/UiBinderTestApp.java b/user/test/com/google/gwt/uibinder/test/client/UiBinderTestApp.java
index c998f65..14064b9 100644
--- a/user/test/com/google/gwt/uibinder/test/client/UiBinderTestApp.java
+++ b/user/test/com/google/gwt/uibinder/test/client/UiBinderTestApp.java
@@ -63,6 +63,7 @@
   /**
    * Entry point method, called only when this is run as an application.
    */
+  @Override
   public void onModuleLoad() {
     setAndInitInstance(this);
   }
diff --git a/user/test/com/google/gwt/uibinder/test/client/UiChildTest.java b/user/test/com/google/gwt/uibinder/test/client/UiChildTest.java
index e2bc846..4bb4464 100644
--- a/user/test/com/google/gwt/uibinder/test/client/UiChildTest.java
+++ b/user/test/com/google/gwt/uibinder/test/client/UiChildTest.java
@@ -72,10 +72,12 @@
       initWidget(new Label());
     }
 
+    @Override
     public String getName() {
       return asLabel().getText();
     }
 
+    @Override
     public void setName(String name) {
       asLabel().setText(name);
     }
diff --git a/user/test/com/google/gwt/uibinder/test/client/UiRendererTestApp.java b/user/test/com/google/gwt/uibinder/test/client/UiRendererTestApp.java
index a37df4c..7aaec55 100644
--- a/user/test/com/google/gwt/uibinder/test/client/UiRendererTestApp.java
+++ b/user/test/com/google/gwt/uibinder/test/client/UiRendererTestApp.java
@@ -51,6 +51,7 @@
   /**
    * Entry point method, called only when this is run as an application.
    */
+  @Override
   public void onModuleLoad() {
     setAndInitInstance(this);
   }
diff --git a/user/test/com/google/gwt/user/cellview/client/AbstractCellTreeTestBase.java b/user/test/com/google/gwt/user/cellview/client/AbstractCellTreeTestBase.java
index d1a2860..53e606a 100644
--- a/user/test/com/google/gwt/user/cellview/client/AbstractCellTreeTestBase.java
+++ b/user/test/com/google/gwt/user/cellview/client/AbstractCellTreeTestBase.java
@@ -73,6 +73,7 @@
       }
     }
 
+    @Override
     public <T> NodeInfo<?> getNodeInfo(T value) {
       if (value == ROOT_VALUE) {
         return new DefaultNodeInfo<String>(rootDataProvider, cell,
@@ -90,6 +91,7 @@
       throw new IllegalArgumentException("Unrecognized value type");
     }
 
+    @Override
     public boolean isLeaf(Object value) {
       if (value == ROOT_VALUE) {
         return false;
@@ -148,6 +150,7 @@
       return toRet;
     }
 
+    @Override
     public void onClose(CloseEvent<TreeNode> event) {
       assertNull(lastEvent);
       this.lastEvent = event;
@@ -167,6 +170,7 @@
       return toRet;
     }
 
+    @Override
     public void onOpen(OpenEvent<TreeNode> event) {
       assertNull(lastEvent);
       this.lastEvent = event;
@@ -261,9 +265,11 @@
 
     // Create a model with only one level, and three values at that level.
     TreeViewModel model = new TreeViewModel() {
+      @Override
       public NodeInfo<?> getNodeInfo(Object value) {
         // The key provider returns the first char as an integer.
         ProvidesKey<String> keyProvider = new ProvidesKey<String>() {
+          @Override
           public Object getKey(String item) {
             return Integer.parseInt(item.substring(0, 1));
           }
@@ -276,6 +282,7 @@
         return new DefaultNodeInfo<String>(dataProvider, cell);
       }
 
+      @Override
       public boolean isLeaf(Object value) {
         return value != null;
       }
@@ -285,6 +292,7 @@
     createAbstractCellTree(model, null);
     delayTestFinish(5000);
     Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() {
+      @Override
       public void execute() {
         assertEquals("Cell#render() should be called exactly thrice", 3,
             rendered.size());
diff --git a/user/test/com/google/gwt/user/cellview/client/ColumnSortEventTest.java b/user/test/com/google/gwt/user/cellview/client/ColumnSortEventTest.java
index e0d6b94..dc1a905 100644
--- a/user/test/com/google/gwt/user/cellview/client/ColumnSortEventTest.java
+++ b/user/test/com/google/gwt/user/cellview/client/ColumnSortEventTest.java
@@ -51,6 +51,7 @@
     MockHasData<String> hasData = new MockHasData<String>();
     final List<Range> events = new ArrayList<Range>();
     hasData.addRangeChangeHandler(new RangeChangeEvent.Handler() {
+      @Override
       public void onRangeChange(RangeChangeEvent event) {
         events.add(event.getNewRange());
       }
@@ -75,6 +76,7 @@
     ListHandler<String> handler = new ListHandler<String>(values);
     IdentityColumn<String> col0 = new IdentityColumn<String>(new TextCell());
     Comparator<String> col0Comparator = new Comparator<String>() {
+      @Override
       public int compare(String o1, String o2) {
         return o1.compareTo(o2);
       }
diff --git a/user/test/com/google/gwt/user/cellview/client/ColumnTest.java b/user/test/com/google/gwt/user/cellview/client/ColumnTest.java
index 5c9817f..e92eebe 100644
--- a/user/test/com/google/gwt/user/cellview/client/ColumnTest.java
+++ b/user/test/com/google/gwt/user/cellview/client/ColumnTest.java
@@ -78,6 +78,7 @@
       assertEquals(expected, value);
     }
 
+    @Override
     public void update(int index, T object, C value) {
       assertFalse("Update called twice", updateCalled);
       this.updateCalled = true;
diff --git a/user/test/com/google/gwt/user/client/AsyncProxyTest.java b/user/test/com/google/gwt/user/client/AsyncProxyTest.java
index 69f3730..401611f 100644
--- a/user/test/com/google/gwt/user/client/AsyncProxyTest.java
+++ b/user/test/com/google/gwt/user/client/AsyncProxyTest.java
@@ -64,56 +64,69 @@
 
     private int value = 0;
 
+    @Override
     public boolean defaultBool() {
       return true;
     }
 
+    @Override
     public byte defaultByte() {
       return 1;
     }
 
+    @Override
     public char defaultChar() {
       return 1;
     }
 
+    @Override
     public double defaultDouble() {
       return 1;
     }
 
+    @Override
     public float defaultFloat() {
       return 1;
     }
 
+    @Override
     public int defaultInt() {
       return 1;
     }
 
+    @Override
     public long defaultLong() {
       return 1;
     }
 
+    @Override
     public Object defaultObject() {
       return this;
     }
 
+    @Override
     public short defaultShort() {
       return 1;
     }
 
+    @Override
     public String defaultString() {
       return "";
     }
 
+    @Override
     public void one() {
       GWTTestCase.assertEquals(0, value);
       value = 1;
     }
 
+    @Override
     public void three() {
       GWTTestCase.assertEquals(2, value);
       testInstance.finishTest();
     }
 
+    @Override
     public void two() {
       GWTTestCase.assertEquals(1, value);
       value = 2;
@@ -130,6 +143,7 @@
 
   private static AsyncProxyTest testInstance;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/AsyncProxyTestTopLevelImpl.java b/user/test/com/google/gwt/user/client/AsyncProxyTestTopLevelImpl.java
index 4257632..8de7cb1 100644
--- a/user/test/com/google/gwt/user/client/AsyncProxyTestTopLevelImpl.java
+++ b/user/test/com/google/gwt/user/client/AsyncProxyTestTopLevelImpl.java
@@ -20,52 +20,65 @@
  */
 public class AsyncProxyTestTopLevelImpl implements AsyncProxyTest.Test {
 
+  @Override
   public boolean defaultBool() {
     return false;
   }
 
+  @Override
   public byte defaultByte() {
     return 3;
   }
 
+  @Override
   public char defaultChar() {
     return 0;
   }
 
+  @Override
   public double defaultDouble() {
     return 0;
   }
 
+  @Override
   public float defaultFloat() {
     return 0;
   }
 
+  @Override
   public int defaultInt() {
     return 0;
   }
 
+  @Override
   public long defaultLong() {
     return 0;
   }
 
+  @Override
   public Object defaultObject() {
     return null;
   }
 
+  @Override
   public short defaultShort() {
     return 0;
   }
 
+  @Override
   public String defaultString() {
     return null;
   }
 
+  @Override
   public void one() {
   }
 
+  @Override
   public void three() {
   }
 
+  @Override
   public void two() {
   }
 
diff --git a/user/test/com/google/gwt/user/client/BadServletsTest.java b/user/test/com/google/gwt/user/client/BadServletsTest.java
index 04f3df2..27bf75a 100644
--- a/user/test/com/google/gwt/user/client/BadServletsTest.java
+++ b/user/test/com/google/gwt/user/client/BadServletsTest.java
@@ -42,10 +42,12 @@
     RequestBuilder req = new RequestBuilder(RequestBuilder.GET, url);
     delayTestFinish(5000);
     req.sendRequest(null, new RequestCallback() {
+      @Override
       public void onError(Request request, Throwable exception) {
         fail(exception.toString());
       }
 
+      @Override
       public void onResponseReceived(Request request, Response response) {
         assertEquals(200, response.getStatusCode());
         assertEquals("ok", response.getText());
diff --git a/user/test/com/google/gwt/user/client/CommandExecutorTest.java b/user/test/com/google/gwt/user/client/CommandExecutorTest.java
index 39d2a85..34078d6 100644
--- a/user/test/com/google/gwt/user/client/CommandExecutorTest.java
+++ b/user/test/com/google/gwt/user/client/CommandExecutorTest.java
@@ -24,6 +24,7 @@
 public class CommandExecutorTest extends GWTTestCase {
 
   private static class NonRestartingCommandExecutor extends CommandExecutor {
+    @Override
     protected void maybeStartExecutionTimer() {
       // keeps the executing timer for interfering with the test
     }
@@ -36,6 +37,7 @@
       return executed;
     }
 
+    @Override
     public void execute() {
       executed = true;
     }
@@ -45,6 +47,7 @@
     private boolean done = false;
     private int executeCount;
 
+    @Override
     public boolean execute() {
       ++executeCount;
 
@@ -69,6 +72,7 @@
    */
   private static final int TEST_FINISH_DELAY_MILLIS = 40000;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
@@ -253,6 +257,7 @@
     ce.submit(new IncrementalCommand() {
       private int executionCount = 0;
 
+      @Override
       public boolean execute() {
         if (++executionCount > 10) {
           fail("IncrementalCommand was fired more than 10 times");
@@ -269,6 +274,7 @@
 
   private Command createFinishTestCommand() {
     return new Command() {
+      @Override
       public void execute() {
         finishTest();
       }
diff --git a/user/test/com/google/gwt/user/client/DoubleClickEventSinkTest.java b/user/test/com/google/gwt/user/client/DoubleClickEventSinkTest.java
index b37ddcf..c1b028f 100644
--- a/user/test/com/google/gwt/user/client/DoubleClickEventSinkTest.java
+++ b/user/test/com/google/gwt/user/client/DoubleClickEventSinkTest.java
@@ -124,6 +124,7 @@
     }
 
     w.addDoubleClickHandler(new DoubleClickHandler() {
+      @Override
       public void onDoubleClick(DoubleClickEvent event) {
       }
     });
diff --git a/user/test/com/google/gwt/user/client/DragAndDropEventsSinkTest.java b/user/test/com/google/gwt/user/client/DragAndDropEventsSinkTest.java
index c00e348..6c69cdb 100644
--- a/user/test/com/google/gwt/user/client/DragAndDropEventsSinkTest.java
+++ b/user/test/com/google/gwt/user/client/DragAndDropEventsSinkTest.java
@@ -47,42 +47,49 @@
 public class DragAndDropEventsSinkTest extends GWTTestCase {
 
   private static class DragEndHandlerImpl extends HandlerImpl implements DragEndHandler {
+    @Override
     public void onDragEnd(DragEndEvent event) {
       eventFired();
     }
   }
 
   private static class DragEnterHandlerImpl extends HandlerImpl implements DragEnterHandler {
+    @Override
     public void onDragEnter(DragEnterEvent event) {
       eventFired();
     }
   }
 
   private static class DragHandlerImpl extends HandlerImpl implements DragHandler {
+    @Override
     public void onDrag(DragEvent event) {
       eventFired();
     }
   }
 
   private static class DragLeaveHandlerImpl extends HandlerImpl implements DragLeaveHandler {
+    @Override
     public void onDragLeave(DragLeaveEvent event) {
       eventFired();
     }
   }
 
   private static class DragOverHandlerImpl extends HandlerImpl implements DragOverHandler {
+    @Override
     public void onDragOver(DragOverEvent event) {
       eventFired();
     }
   }
 
   private static class DragStartHandlerImpl extends HandlerImpl implements DragStartHandler {
+    @Override
     public void onDragStart(DragStartEvent event) {
       eventFired();
     }
   }
 
   private static class DropHandlerImpl extends HandlerImpl implements DropHandler {
+    @Override
     public void onDrop(DropEvent event) {
       eventFired();
     }
diff --git a/user/test/com/google/gwt/user/client/EventTest.java b/user/test/com/google/gwt/user/client/EventTest.java
index 53bd0ec..f617dba 100644
--- a/user/test/com/google/gwt/user/client/EventTest.java
+++ b/user/test/com/google/gwt/user/client/EventTest.java
@@ -50,6 +50,7 @@
       this.doCancel = doCancel;
     }
 
+    @Override
     @Deprecated
     public boolean onEventPreview(Event event) {
       assertFalse(isFired);
@@ -81,6 +82,7 @@
       this.doPreventCancel = doPreventCancel;
     }
 
+    @Override
     public void onPreviewNativeEvent(NativePreviewEvent event) {
       assertFalse(isFired);
       isFired = true;
@@ -102,6 +104,7 @@
    */
   private static class TestLabel extends Label implements
       HasDoubleClickHandlers {
+    @Override
     public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
       return addDomHandler(handler, DoubleClickEvent.getType());
     }
@@ -160,12 +163,14 @@
     // Add some handlers
     final EventInfo clickInfo = new EventInfo();
     label.addClickHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent event) {
         clickInfo.fireCount++;
       }
     });
     final EventInfo dblclickInfo = new EventInfo();
     label.addDoubleClickHandler(new DoubleClickHandler() {
+      @Override
       public void onDoubleClick(DoubleClickEvent event) {
         dblclickInfo.fireCount++;
       }
@@ -330,6 +335,7 @@
     NativePreviewHandler handler = new NativePreviewHandler() {
       private boolean first = true;
 
+      @Override
       public void onPreviewNativeEvent(NativePreviewEvent event) {
         if (first) {
           event.cancel();
diff --git a/user/test/com/google/gwt/user/client/GestureEventSinkTest.java b/user/test/com/google/gwt/user/client/GestureEventSinkTest.java
index 86c2587..2354dc5 100644
--- a/user/test/com/google/gwt/user/client/GestureEventSinkTest.java
+++ b/user/test/com/google/gwt/user/client/GestureEventSinkTest.java
@@ -194,6 +194,7 @@
     }
 
     w.addGestureChangeHandler(new GestureChangeHandler() {
+      @Override
       public void onGestureChange(GestureChangeEvent event) {
       }
     });
@@ -221,6 +222,7 @@
     }
 
     w.addGestureEndHandler(new GestureEndHandler() {
+      @Override
       public void onGestureEnd(GestureEndEvent event) {
       }
     });
@@ -249,6 +251,7 @@
     }
 
     w.addGestureStartHandler(new GestureStartHandler() {
+      @Override
       public void onGestureStart(GestureStartEvent event) {
       }
     });
diff --git a/user/test/com/google/gwt/user/client/RandomTest.java b/user/test/com/google/gwt/user/client/RandomTest.java
index 7b38b8e..0c3c101 100644
--- a/user/test/com/google/gwt/user/client/RandomTest.java
+++ b/user/test/com/google/gwt/user/client/RandomTest.java
@@ -22,6 +22,7 @@
  */
 public class RandomTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/TouchEventSinkTest.java b/user/test/com/google/gwt/user/client/TouchEventSinkTest.java
index 022a0f4..ed9b941 100644
--- a/user/test/com/google/gwt/user/client/TouchEventSinkTest.java
+++ b/user/test/com/google/gwt/user/client/TouchEventSinkTest.java
@@ -215,6 +215,7 @@
     }
 
     w.addTouchCancelHandler(new TouchCancelHandler() {
+      @Override
       public void onTouchCancel(TouchCancelEvent event) {
       }
     });
@@ -242,6 +243,7 @@
     }
 
     w.addTouchEndHandler(new TouchEndHandler() {
+      @Override
       public void onTouchEnd(TouchEndEvent event) {
       }
     });
@@ -270,6 +272,7 @@
 
     w.addTouchMoveHandler(new TouchMoveHandler() {
 
+      @Override
       public void onTouchMove(TouchMoveEvent event) {
       }
     });
@@ -297,6 +300,7 @@
     }
 
     w.addTouchStartHandler(new TouchStartHandler() {
+      @Override
       public void onTouchStart(TouchStartEvent event) {
       }
     });
diff --git a/user/test/com/google/gwt/user/client/WindowTest.java b/user/test/com/google/gwt/user/client/WindowTest.java
index 977be95..85d0cd1 100644
--- a/user/test/com/google/gwt/user/client/WindowTest.java
+++ b/user/test/com/google/gwt/user/client/WindowTest.java
@@ -226,6 +226,7 @@
     RootPanel.get().add(largeDOM);
     delayTestFinish(1000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         int newClientHeight = Window.getClientHeight();
         int newClientWidth = Window.getClientWidth();
@@ -242,6 +243,7 @@
     private int width;
     private boolean called;
 
+    @Override
     public void onResize(ResizeEvent event) {
       width = event.getWidth();
       height = event.getHeight();
@@ -286,6 +288,7 @@
 
     delayTestFinish(1000);
     Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
+      @Override
       public boolean execute() {
         if (!handler.isCalled()) {
           return true; // we still didn't receive the callback, let's wait more
@@ -332,6 +335,7 @@
   static class ListenerTester implements WindowResizeListener {
     static int resize = 0;
 
+    @Override
     public void onWindowResized(int width, int height) {
       ++resize;
     }
diff --git a/user/test/com/google/gwt/user/client/rpc/CollectionsTest.java b/user/test/com/google/gwt/user/client/rpc/CollectionsTest.java
index 220efe0..7c10799 100644
--- a/user/test/com/google/gwt/user/client/rpc/CollectionsTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/CollectionsTest.java
@@ -74,10 +74,12 @@
     final int[] expected = TestSetFactory.createVeryLargeArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<int[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(int[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -91,10 +93,12 @@
     delayTestFinishForRpc();
     service.echo(TestSetFactory.createArrayList(),
         new AsyncCallback<ArrayList<MarkerTypeArrayList>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(ArrayList<MarkerTypeArrayList> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValid(result));
@@ -108,10 +112,12 @@
     delayTestFinishForRpc();
     service.echoArrayListVoid(TestSetFactory.createArrayListVoid(),
         new AsyncCallback<ArrayList<Void>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(ArrayList<Void> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidArrayListVoid(result));
@@ -127,10 +133,12 @@
     delayTestFinishForRpc();
     service.echoArraysAsList(expected,
         new AsyncCallback<List<MarkerTypeArraysAsList>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(List<MarkerTypeArraysAsList> result) {
             assertNotNull(result);
             assertEquals(expected, result);
@@ -144,10 +152,12 @@
     final Boolean[] expected = TestSetFactory.createBooleanArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Boolean[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Boolean[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -166,10 +176,12 @@
     final Byte[] expected = TestSetFactory.createByteArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Byte[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Byte[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -188,10 +200,12 @@
     final Character[] expected = TestSetFactory.createCharArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Character[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Character[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -210,10 +224,12 @@
     final Date[] expected = TestSetFactory.createDateArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Date[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Date[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -232,10 +248,12 @@
     final Double[] expected = TestSetFactory.createDoubleArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Double[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -256,10 +274,12 @@
     delayTestFinishForRpc();
     service.echoEmptyEnumMap(expected, new AsyncCallback<EnumMap<MarkerTypeEnum,
       MarkerTypeEnumMapValue>>() {
+        @Override
         public void onFailure(Throwable caught) {
           TestSetValidator.rethrowException(caught);
         }
 
+        @Override
         public void onSuccess(EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> result) {
           assertNotNull(result);
           assertTrue(TestSetValidator.isValid(expected, result));
@@ -273,10 +293,12 @@
     delayTestFinishForRpc();
     service.echo(TestSetFactory.createEmptyList(),
         new AsyncCallback<List<MarkerTypeEmptyList>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(List<MarkerTypeEmptyList> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValid(result));
@@ -290,10 +312,12 @@
     delayTestFinishForRpc();
     service.echo(TestSetFactory.createEmptyMap(),
         new AsyncCallback<Map<MarkerTypeEmptyKey, MarkerTypeEmptyValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Map<MarkerTypeEmptyKey, MarkerTypeEmptyValue> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValid(result));
@@ -307,10 +331,12 @@
     delayTestFinishForRpc();
     service.echo(TestSetFactory.createEmptySet(),
         new AsyncCallback<Set<MarkerTypeEmptySet>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Set<MarkerTypeEmptySet> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValid(result));
@@ -324,10 +350,12 @@
     final Enum<?>[] expected = TestSetFactory.createEnumArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Enum<?>[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Enum<?>[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -348,10 +376,12 @@
     delayTestFinishForRpc();
     service.echoEnumKey(expected,
         new AsyncCallback<EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidEnumKey(expected, result));
@@ -367,10 +397,12 @@
     delayTestFinishForRpc();
     service.echo(expected,
         new AsyncCallback<EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValid(expected, result));
@@ -384,10 +416,12 @@
     final Float[] expected = TestSetFactory.createFloatArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Float[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -407,10 +441,12 @@
     delayTestFinishForRpc();
     service.echo(expected,
         new AsyncCallback<HashMap<MarkerTypeHashMapKey, MarkerTypeHashMapValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(HashMap<MarkerTypeHashMapKey, MarkerTypeHashMapValue> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValid(expected, result));
@@ -424,10 +460,12 @@
     final HashSet<MarkerTypeHashSet> expected = TestSetFactory.createHashSet();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<HashSet<MarkerTypeHashSet>>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(HashSet<MarkerTypeHashSet> result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValid(expected, result));
@@ -443,10 +481,12 @@
     delayTestFinishForRpc();
     service.echoEnumKey(expected,
         new AsyncCallback<IdentityHashMap<MarkerTypeEnum, MarkerTypeIdentityHashMapValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(IdentityHashMap<MarkerTypeEnum, MarkerTypeIdentityHashMapValue> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidEnumKey(expected, result));
@@ -464,10 +504,12 @@
         .echo(
             expected,
             new AsyncCallback<IdentityHashMap<MarkerTypeIdentityHashMapKey, MarkerTypeIdentityHashMapValue>>() {
+              @Override
               public void onFailure(Throwable caught) {
                 TestSetValidator.rethrowException(caught);
               }
 
+              @Override
               public void onSuccess(
                   IdentityHashMap<MarkerTypeIdentityHashMapKey, MarkerTypeIdentityHashMapValue> result) {
                 assertNotNull(result);
@@ -482,10 +524,12 @@
     final Integer[] expected = TestSetFactory.createIntegerArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Integer[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Integer[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -509,10 +553,12 @@
     delayTestFinishForRpc();
     service.echo(expected,
         new AsyncCallback<LinkedHashMap<MarkerTypeLinkedHashMapKey, MarkerTypeLinkedHashMapValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(
               LinkedHashMap<MarkerTypeLinkedHashMapKey, MarkerTypeLinkedHashMapValue> result) {
             assertNotNull(result);
@@ -534,10 +580,12 @@
     delayTestFinishForRpc();
     service.echo(expected,
         new AsyncCallback<LinkedHashMap<MarkerTypeLinkedHashMapKey, MarkerTypeLinkedHashMapValue>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(
               LinkedHashMap<MarkerTypeLinkedHashMapKey, MarkerTypeLinkedHashMapValue> actual) {
             assertNotNull(actual);
@@ -555,10 +603,12 @@
     delayTestFinishForRpc();
     service.echo(expected,
         new AsyncCallback<LinkedHashSet<MarkerTypeLinkedHashSet>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(
               LinkedHashSet<MarkerTypeLinkedHashSet> result) {
             assertNotNull(result);
@@ -573,10 +623,12 @@
     final LinkedList<MarkerTypeLinkedList> expected = TestSetFactory.createLinkedList();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<LinkedList<MarkerTypeLinkedList>>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(LinkedList<MarkerTypeLinkedList> result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValid(expected, result));
@@ -590,10 +642,12 @@
     final Long[] expected = TestSetFactory.createLongArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Long[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Long[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -612,10 +666,12 @@
     CollectionsTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<boolean[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(boolean[] result) {
         assertTrue(TestSetValidator.equals(expected, result));
         finishTest();
@@ -628,10 +684,12 @@
     CollectionsTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<byte[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(byte[] result) {
         assertTrue(TestSetValidator.equals(expected, result));
         finishTest();
@@ -644,10 +702,12 @@
     final char[] expected = TestSetFactory.createPrimitiveCharArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<char[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(char[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -661,10 +721,12 @@
     final double[] expected = TestSetFactory.createPrimitiveDoubleArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<double[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(double[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -678,10 +740,12 @@
     final float[] expected = TestSetFactory.createPrimitiveFloatArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<float[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(float[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -695,10 +759,12 @@
     final int[] expected = TestSetFactory.createPrimitiveIntegerArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<int[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(int[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -712,10 +778,12 @@
     final long[] expected = TestSetFactory.createPrimitiveLongArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<long[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(long[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -729,10 +797,12 @@
     final short[] expected = TestSetFactory.createPrimitiveShortArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<short[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(short[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -746,10 +816,12 @@
     final Short[] expected = TestSetFactory.createShortArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Short[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Short[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -768,10 +840,12 @@
     delayTestFinishForRpc();
     service.echoSingletonList(TestSetFactory.createSingletonList(),
         new AsyncCallback<List<MarkerTypeSingleton>>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(List<MarkerTypeSingleton> result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidSingletonList(result));
@@ -785,10 +859,12 @@
     final java.sql.Date[] expected = TestSetFactory.createSqlDateArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<java.sql.Date[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(java.sql.Date[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -807,10 +883,12 @@
     final Time[] expected = TestSetFactory.createSqlTimeArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Time[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Time[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -829,10 +907,12 @@
     final Timestamp[] expected = TestSetFactory.createSqlTimestampArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Timestamp[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Timestamp[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -851,10 +931,12 @@
     final String[] expected = TestSetFactory.createStringArray();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<String[]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(String[] result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.equals(expected, result));
@@ -874,10 +956,12 @@
         new String[] {"hello"}, new String[] {"bye"}};
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<String[][]>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(String[][] result) {
         assertNotNull(result);
         
@@ -897,10 +981,12 @@
       final TreeMap<String, MarkerTypeTreeMap> expected = TestSetFactory.createTreeMap(option);
       service.echo(expected, option,
           new AsyncCallback<TreeMap<String, MarkerTypeTreeMap>>() {
+            @Override
             public void onFailure(Throwable caught) {
               TestSetValidator.rethrowException(caught);
             }
 
+            @Override
             public void onSuccess(TreeMap<String, MarkerTypeTreeMap> result) {
               assertNotNull(result);
               assertTrue(TestSetValidator.isValid(expected, result));
@@ -917,10 +1003,12 @@
       final TreeSet<MarkerTypeTreeSet> expected = TestSetFactory.createTreeSet(option);
       service.echo(expected, option,
           new AsyncCallback<TreeSet<MarkerTypeTreeSet>>() {
+            @Override
             public void onFailure(Throwable caught) {
               TestSetValidator.rethrowException(caught);
             }
 
+            @Override
             public void onSuccess(TreeSet<MarkerTypeTreeSet> result) {
               assertNotNull(result);
               assertTrue(TestSetValidator.isValid(expected, result));
@@ -935,10 +1023,12 @@
     final Vector<MarkerTypeVector> expected = TestSetFactory.createVector();
     delayTestFinishForRpc();
     service.echo(expected, new AsyncCallback<Vector<MarkerTypeVector>>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Vector<MarkerTypeVector> result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValid(expected, result));
diff --git a/user/test/com/google/gwt/user/client/rpc/CoreJavaTest.java b/user/test/com/google/gwt/user/client/rpc/CoreJavaTest.java
index c15202c..b2ca6b8 100644
--- a/user/test/com/google/gwt/user/client/rpc/CoreJavaTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/CoreJavaTest.java
@@ -46,10 +46,12 @@
 
     delayTestFinishForRpc();
     service.echoMathContext(expected, new AsyncCallback<MathContext>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(MathContext result) {
         assertNotNull(result);
         assertTrue(isValid(result));
diff --git a/user/test/com/google/gwt/user/client/rpc/CustomFieldSerializerTest.java b/user/test/com/google/gwt/user/client/rpc/CustomFieldSerializerTest.java
index 3fa2eb5..49ea723 100644
--- a/user/test/com/google/gwt/user/client/rpc/CustomFieldSerializerTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/CustomFieldSerializerTest.java
@@ -44,12 +44,14 @@
     service.echo(
         CustomFieldSerializerTestSetFactory.createUnserializableSubclass(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             assertTrue("Should be a SerializationException",
                 caught instanceof SerializationException);
             finishTest();
           }
 
+          @Override
           public void onSuccess(Object result) {
             fail("Class UnserializableSubclass should not be serializable");
           }
@@ -67,6 +69,7 @@
     service.echo(
         CustomFieldSerializerTestSetFactory.createUnserializableClass(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             AssertionFailedError er = new AssertionFailedError(
                 "Class UnserializableClass should be serializable because it has a custom field serializer");
@@ -74,6 +77,7 @@
             throw er;
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(CustomFieldSerializerTestSetValidator.isValid((ManuallySerializedClass) result));
@@ -95,6 +99,7 @@
     service.echo(
         CustomFieldSerializerTestSetFactory.createSerializableImmutablesArray(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             AssertionFailedError er = new AssertionFailedError(
                 "Could not serialize/deserialize immutable classes");
@@ -102,6 +107,7 @@
             throw er;
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(CustomFieldSerializerTestSetValidator.isValid((ManuallySerializedImmutableClass[]) result));
@@ -120,6 +126,7 @@
     service.echo(
         CustomFieldSerializerTestSetFactory.createSerializableSubclass(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             AssertionFailedError er = new AssertionFailedError(
                 "Class SerializableSubclass should be serializable automatically");
@@ -127,6 +134,7 @@
             throw er;
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(CustomFieldSerializerTestSetValidator.isValid((SerializableSubclass) result));
diff --git a/user/test/com/google/gwt/user/client/rpc/EnumsTest.java b/user/test/com/google/gwt/user/client/rpc/EnumsTest.java
index 5a3d40e..261bd68 100644
--- a/user/test/com/google/gwt/user/client/rpc/EnumsTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/EnumsTest.java
@@ -48,10 +48,12 @@
   public void testBasicEnums() {
     delayTestFinishForRpc();
     getService().echo(Basic.A, new AsyncCallback<Basic>() {
+      @Override
       public void onFailure(Throwable caught) {
         rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Basic result) {
         assertNotNull("Was null", result);
         assertEquals(Basic.A, result);
@@ -70,10 +72,12 @@
 
     delayTestFinishForRpc();
     getService().echo(Complex.A, new AsyncCallback<Complex>() {
+      @Override
       public void onFailure(Throwable caught) {
         rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Complex result) {
         assertNotNull("Was null", result);
         assertEquals(Complex.A, result);
@@ -93,10 +97,12 @@
     delayTestFinishForRpc();
 
     getService().echo((Basic) null, new AsyncCallback<Basic>() {
+      @Override
       public void onFailure(Throwable caught) {
         rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Basic result) {
         assertNull(result);
         finishTest();
@@ -111,10 +117,12 @@
     delayTestFinishForRpc();
 
     getService().echo(Subclassing.A, new AsyncCallback<Subclassing>() {
+      @Override
       public void onFailure(Throwable caught) {
         rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Subclassing result) {
         assertNotNull("Was null", result);
         assertEquals(Subclassing.A, result);
@@ -132,10 +140,12 @@
     FieldEnumWrapper wrapper = new FieldEnumWrapper();
     wrapper.setFieldEnum(FieldEnum.X);
     getService().echo(wrapper, new AsyncCallback<FieldEnumWrapper>() {
+      @Override
       public void onFailure(Throwable caught) {
         rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(FieldEnumWrapper result) {
         assertNotNull("Was null", result);
         FieldEnum fieldEnum = result.getFieldEnum();
diff --git a/user/test/com/google/gwt/user/client/rpc/ExceptionsTest.java b/user/test/com/google/gwt/user/client/rpc/ExceptionsTest.java
index 69ad74f..0012a6a 100644
--- a/user/test/com/google/gwt/user/client/rpc/ExceptionsTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/ExceptionsTest.java
@@ -29,10 +29,12 @@
   public void testUmbrellaException() {
     final UmbrellaException expected = TestSetFactory.createUmbrellaException();
     checkException(expected, new AsyncCallback<UmbrellaException>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(UmbrellaException result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValid(expected, result));
@@ -48,10 +50,12 @@
     expected.initCause(new SerializableThrowable(null, "cause"));
 
     checkException(expected, new AsyncCallback<SerializableThrowable>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(SerializableThrowable result) {
         assertNotNull(result);
         assertEquals("msg", result.getMessage());
diff --git a/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java b/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java
index 4dcb045..bf7dfc6 100644
--- a/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/FailingRequestBuilderTest.java
@@ -28,11 +28,13 @@
 
     RequestBuilder rb = new FailingRequestBuilder(new SerializationException(),
         new AsyncCallback<Void>() {
+          @Override
           public void onFailure(Throwable caught) {
             assertFalse(callbackCalled[0]);
             callbackCalled[0] = true;
           }
 
+          @Override
           public void onSuccess(Void result) {
             fail("expected this to fail");
           }
diff --git a/user/test/com/google/gwt/user/client/rpc/InheritanceTest.java b/user/test/com/google/gwt/user/client/rpc/InheritanceTest.java
index ff5e331..cfe9b11 100644
--- a/user/test/com/google/gwt/user/client/rpc/InheritanceTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/InheritanceTest.java
@@ -37,14 +37,17 @@
     InheritanceTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.echo(new AnonymousClassInterface() {
+      @Override
       public void foo() {
         // purposely empty
       }
     }, new AsyncCallback<Object>() {
+      @Override
       public void onFailure(Throwable caught) {
         finishTest();
       }
 
+      @Override
       public void onSuccess(Object result) {
         fail("Anonymous inner classes should not be serializable");
       }
@@ -63,10 +66,12 @@
     delayTestFinishForRpc();
     service.echo(InheritanceTestSetFactory.createCircle(),
         new AsyncCallback<Object>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             Circle circle = (Circle) result;
             assertNotNull(circle.getName());
@@ -83,10 +88,12 @@
     delayTestFinishForRpc();
     service.echo(new InheritanceTestSetFactory.JavaSerializableClass(3),
         new AsyncCallback<Object>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             finishTest();
@@ -103,10 +110,12 @@
         new InheritanceTestSetFactory.JavaSerializableClass(3);
     AsyncCallback<Object> resendCallback = new AsyncCallback<Object>() {
         private boolean resend = true;
+        @Override
         public void onFailure(Throwable caught) {
           TestSetValidator.rethrowException(caught);
         }
 
+        @Override
         public void onSuccess(Object result) {
           assertEquals(first, result);
           if (resend) {
@@ -129,10 +138,12 @@
     delayTestFinishForRpc();
     service.echo(InheritanceTestSetFactory.createNonStaticInnerClass(),
         new AsyncCallback<Object>() {
+          @Override
           public void onFailure(Throwable caught) {
             finishTest();
           }
 
+          @Override
           public void onSuccess(Object result) {
             fail("Non-static inner classes should not be serializable");
           }
@@ -143,10 +154,12 @@
     InheritanceTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.getUnserializableClass(new AsyncCallback<Object>() {
+      @Override
       public void onFailure(Throwable caught) {
         finishTest();
       }
 
+      @Override
       public void onSuccess(Object result) {
         fail("Returning an unserializable class from the server should fail");
       }
@@ -161,10 +174,12 @@
     delayTestFinishForRpc();
     service.echo(InheritanceTestSetFactory.createSerializableClass(),
         new AsyncCallback<Object>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(InheritanceTestSetValidator.isValid((SerializableClass) result));
@@ -181,10 +196,12 @@
     delayTestFinishForRpc();
     service.echo(InheritanceTestSetFactory.createSerializableSubclass(),
         new AsyncCallback<Object>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(InheritanceTestSetValidator.isValid((SerializableSubclass) result));
@@ -207,10 +224,12 @@
 
     InheritanceTestServiceAsync service = getServiceAsync();
     service.echo(new AnonymousClassInterface() {
+      @Override
       public void foo() {
         // purposely empty
       }
     }, new AsyncCallback<Object>() {
+      @Override
       public void onFailure(Throwable caught) {
         assertTrue(
             "onFailure: got something other than a SerializationException ("
@@ -219,6 +238,7 @@
         serializationExceptionCaught[0] = true;
       }
 
+      @Override
       public void onSuccess(Object result) {
         fail("onSuccess: call should not have succeeded");
       }
@@ -234,10 +254,12 @@
     service.echo(
         InheritanceTestSetFactory.createSerializableClassWithTransientField(),
         new AsyncCallback<Object>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(InheritanceTestSetValidator.isValid((SerializableClassWithTransientField) result));
diff --git a/user/test/com/google/gwt/user/client/rpc/InheritanceTestSetFactory.java b/user/test/com/google/gwt/user/client/rpc/InheritanceTestSetFactory.java
index 2e11f75..db4d730 100644
--- a/user/test/com/google/gwt/user/client/rpc/InheritanceTestSetFactory.java
+++ b/user/test/com/google/gwt/user/client/rpc/InheritanceTestSetFactory.java
@@ -45,6 +45,7 @@
    */
   public static class AnonymousClassInterfaceImplementor implements
       AnonymousClassInterface {
+    @Override
     public void foo() {
     }
   }
@@ -241,6 +242,7 @@
 
   public static SerializableClass createNonStaticInnerClass() {
     return new SerializableClass() {
+      @Override
       public String toString() {
         return "foo";
       }
diff --git a/user/test/com/google/gwt/user/client/rpc/LoggingRPCTest.java b/user/test/com/google/gwt/user/client/rpc/LoggingRPCTest.java
index ad43689..652eaac 100644
--- a/user/test/com/google/gwt/user/client/rpc/LoggingRPCTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/LoggingRPCTest.java
@@ -121,10 +121,12 @@
     LoggingRPCTestServiceAsync service = getServiceAsync();
     delayTestFinish(15000);
     service.echoLogRecord(expectedLogRecord, new AsyncCallback<LogRecord>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(LogRecord result) {
         assertNotNull(result);
         assertTrue(isValid(result));
@@ -149,10 +151,12 @@
         } catch (Exception e) {
           service.deobfuscateLogRecord(createLogRealRecord(e), new AsyncCallback<LogRecord>() {
 
+            @Override
             public void onFailure(Throwable caught) {
               TestSetValidator.rethrowException(caught);
             }
 
+            @Override
             public void onSuccess(LogRecord record) {
               Throwable thrown = record.getThrown();
               boolean found = false;
diff --git a/user/test/com/google/gwt/user/client/rpc/ObjectGraphTest.java b/user/test/com/google/gwt/user/client/rpc/ObjectGraphTest.java
index aea2587..1d262d1 100644
--- a/user/test/com/google/gwt/user/client/rpc/ObjectGraphTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/ObjectGraphTest.java
@@ -32,10 +32,12 @@
     delayTestFinishForRpc();
     service.echo_AcyclicGraph(TestSetFactory.createAcyclicGraph(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidAcyclicGraph((SerializableDoublyLinkedNode) result));
@@ -49,10 +51,12 @@
     delayTestFinishForRpc();
     service.echo_ComplexCyclicGraph(TestSetFactory.createComplexCyclicGraph(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidComplexCyclicGraph((SerializableDoublyLinkedNode) result));
@@ -67,10 +71,12 @@
     service.echo_ComplexCyclicGraphWithCFS(
         TestSetFactory.createComplexCyclicGraphWithCFS(),
         new AsyncCallback<SerializableGraphWithCFS>() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(SerializableGraphWithCFS result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidComplexCyclicGraphWithCFS(result));
@@ -84,10 +90,12 @@
     final SerializableDoublyLinkedNode node = TestSetFactory.createComplexCyclicGraph();
     delayTestFinishForRpc();
     service.echo_ComplexCyclicGraph(node, node, new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValidComplexCyclicGraph((SerializableDoublyLinkedNode) result));
@@ -101,10 +109,12 @@
     final SerializableWithTwoArrays node = TestSetFactory.createDoublyReferencedArray();
     delayTestFinishForRpc();
     service.echo_SerializableWithTwoArrays(node, new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValid((SerializableWithTwoArrays) result));
@@ -135,10 +145,12 @@
     final SerializablePrivateNoArg node = TestSetFactory.createPrivateNoArg();
     delayTestFinishForRpc();
     service.echo_PrivateNoArg(node, new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         assertNotNull(result);
         assertTrue(TestSetValidator.isValid((SerializablePrivateNoArg) result));
@@ -152,10 +164,12 @@
     delayTestFinishForRpc();
     service.echo_TrivialCyclicGraph(TestSetFactory.createTrivialCyclicGraph(),
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             assertNotNull(result);
             assertTrue(TestSetValidator.isValidTrivialCyclicGraph((SerializableDoublyLinkedNode) result));
diff --git a/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java b/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java
index f241687..a71b481 100644
--- a/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/RecursiveClassTest.java
@@ -32,10 +32,12 @@
     delayTestFinishForRpc();
    
     service.greetServer("Hello", new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         assertNotNull(result);
         assertTrue(result instanceof ResultNode);
diff --git a/user/test/com/google/gwt/user/client/rpc/RemoteServiceServletTest.java b/user/test/com/google/gwt/user/client/rpc/RemoteServiceServletTest.java
index 593604d..0281e31 100644
--- a/user/test/com/google/gwt/user/client/rpc/RemoteServiceServletTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/RemoteServiceServletTest.java
@@ -110,6 +110,7 @@
 
     service.test(new AsyncCallback<Void>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         if (caught instanceof StatusCodeException) {
           assertEquals(Response.SC_NOT_FOUND,
@@ -121,6 +122,7 @@
         }
       }
 
+      @Override
       public void onSuccess(Void result) {
         fail("Should not have succeeded");
       }
@@ -138,12 +140,14 @@
 
     service.throwDeclaredRuntimeException(new AsyncCallback<Void>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         assertTrue(caught instanceof NullPointerException);
         assertEquals("expected", caught.getMessage());
         finishTest();
       }
 
+      @Override
       public void onSuccess(Void result) {
         fail();
       }
@@ -157,10 +161,12 @@
 
     RequestBuilder builder = service.testExpectCustomHeader(new AsyncCallback<Void>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Void result) {
         assertTrue(!req.isPending());
         finishTest();
@@ -181,10 +187,12 @@
     service.testExpectPermutationStrongName(GWT.getPermutationStrongName(),
         new AsyncCallback<Void>() {
 
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Void result) {
             finishTest();
           }
@@ -221,12 +229,14 @@
 
     delayTestFinishForRpc();
     service.test(new AsyncCallback<Void>() {
+      @Override
       public void onFailure(Throwable caught) {
         assertTrue(caught instanceof StatusCodeException);
         assertEquals(500, ((StatusCodeException) caught).getStatusCode());
         finishTest();
       }
 
+      @Override
       public void onSuccess(Void result) {
         fail();
       }
@@ -243,10 +253,12 @@
 
     delayTestFinishForRpc();
     service.test(new AsyncCallback<Void>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Void result) {
         builder.check();
         finishTest();
@@ -261,10 +273,12 @@
 
     req = service.test(new AsyncCallback<Void>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Void result) {
         assertTrue(!req.isPending());
         finishTest();
@@ -284,11 +298,13 @@
 
     service.throwUnknownRuntimeException(new AsyncCallback<Void>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         assertTrue(caught instanceof InvocationException);
         finishTest();
       }
 
+      @Override
       public void onSuccess(Void result) {
         fail();
       }
diff --git a/user/test/com/google/gwt/user/client/rpc/RpcTokenTest.java b/user/test/com/google/gwt/user/client/rpc/RpcTokenTest.java
index 67e99a9..d2de72e 100644
--- a/user/test/com/google/gwt/user/client/rpc/RpcTokenTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/RpcTokenTest.java
@@ -63,10 +63,12 @@
 
     service.getRpcTokenFromRequest(new AsyncCallback<RpcToken>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(RpcToken token) {
         assertNull(token);
         finishTest();
@@ -85,10 +87,12 @@
 
     service.getRpcTokenFromRequest(new AsyncCallback<RpcToken>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(RpcToken rpcToken) {
         assertNotNull(rpcToken);
         assertTrue(rpcToken instanceof TestRpcToken);
@@ -103,6 +107,7 @@
     ((ServiceDefTarget) service).setServiceEntryPoint(GWT.getModuleBaseURL()
         + "rpctokentest?throw=true");
     ((HasRpcToken) service).setRpcTokenExceptionHandler(new RpcTokenExceptionHandler() {
+      @Override
       public void onRpcTokenException(RpcTokenException exception) {
         assertNotNull(exception);
         finishTest();
@@ -113,10 +118,12 @@
 
     service.getRpcTokenFromRequest(new AsyncCallback<RpcToken>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(RpcToken rpcToken) {
         fail("Should've called RpcTokenExceptionHandler");
       }
@@ -147,6 +154,7 @@
 
     service.getRpcTokenFromRequest(new AsyncCallback<RpcToken>() {
 
+      @Override
       public void onSuccess(RpcToken result) {
         assertNotNull(result);
         assertTrue(result instanceof AnotherTestRpcToken);
@@ -154,6 +162,7 @@
         finishTest();
       }
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
diff --git a/user/test/com/google/gwt/user/client/rpc/RunTimeSerializationErrorsTest.java b/user/test/com/google/gwt/user/client/rpc/RunTimeSerializationErrorsTest.java
index 4d8220e..18ec75b 100644
--- a/user/test/com/google/gwt/user/client/rpc/RunTimeSerializationErrorsTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/RunTimeSerializationErrorsTest.java
@@ -38,10 +38,12 @@
     delayTestFinishForRpc();
     getService().echoVoid(new MixedSerializable.NonSerializableSub(),
         new AsyncCallback<MixedSerializable>() {
+          @Override
           public void onFailure(Throwable caught) {
             finishTest();
           }
 
+          @Override
           public void onSuccess(MixedSerializable result) {
             fail("RPC request should have failed");
           }
@@ -54,10 +56,12 @@
     Request req = getService().echoRequest(
         new MixedSerializable.NonSerializableSub(),
         new AsyncCallback<MixedSerializable>() {
+          @Override
           public void onFailure(Throwable caught) {
             callbackFired[0] = true;
           }
 
+          @Override
           public void onSuccess(MixedSerializable result) {
             fail("RPC request should have failed");
           }
@@ -74,11 +78,13 @@
     RequestBuilder rb = getService().echoRequestBuilder(
         new MixedSerializable.NonSerializableSub(),
         new AsyncCallback<MixedSerializable>() {
+          @Override
           public void onFailure(Throwable caught) {
             assertFalse("callback fired twice", callbackFired[0]);
             callbackFired[0] = true;
           }
 
+          @Override
           public void onSuccess(MixedSerializable result) {
             fail("RPC request should have failed");
           }
@@ -93,10 +99,12 @@
     delayTestFinishForRpc();
     getService().echoVoid(new MixedSerializable.SerializableSub(),
         new AsyncCallback<MixedSerializable>() {
+          @Override
           public void onFailure(Throwable caught) {
             fail(caught.toString());
           }
 
+          @Override
           public void onSuccess(MixedSerializable result) {
             finishTest();
           }
@@ -107,10 +115,12 @@
     delayTestFinishForRpc();
     getService().echoRequest(new MixedSerializable.SerializableSub(),
         new AsyncCallback<MixedSerializable>() {
+          @Override
           public void onFailure(Throwable caught) {
             fail(caught.toString());
           }
 
+          @Override
           public void onSuccess(MixedSerializable result) {
             finishTest();
           }
@@ -121,10 +131,12 @@
     delayTestFinishForRpc();
     getService().echoVoid(new MixedSerializable.SerializableSub(),
         new AsyncCallback<MixedSerializable>() {
+          @Override
           public void onFailure(Throwable caught) {
             fail(caught.toString());
           }
 
+          @Override
           public void onSuccess(MixedSerializable result) {
             finishTest();
           }
diff --git a/user/test/com/google/gwt/user/client/rpc/TestSetFactory.java b/user/test/com/google/gwt/user/client/rpc/TestSetFactory.java
index 6e98e2f..e6bd4a8 100644
--- a/user/test/com/google/gwt/user/client/rpc/TestSetFactory.java
+++ b/user/test/com/google/gwt/user/client/rpc/TestSetFactory.java
@@ -346,6 +346,7 @@
 
     // if getValue() returns null, a null-pointer expection will be thrown,
     // which is the intended effect
+    @Override
     public int compareTo(MarkerTypeTreeSet arg0) {
       return getValue().compareTo(arg0.getValue());
     }
@@ -472,6 +473,7 @@
     public ReverseSorter() {
     }
 
+    @Override
     public int compare(T a, T b) {
       // Explicit null check to match JRE specs
       if (a == null || b == null) {
diff --git a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java
index defb3c1..54b2835 100644
--- a/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/UnicodeEscapingTest.java
@@ -243,11 +243,13 @@
         new AsyncCallback<Boolean>() {
           List<Throwable> fails = new ArrayList<Throwable>();
 
+          @Override
           public void onFailure(Throwable caught) {
             fails.add(caught);
             onSuccess(false);
           }
 
+          @Override
           public void onSuccess(Boolean ignored) {
             current += step;
             if (current < end) {
@@ -281,11 +283,13 @@
         Math.min(end, current + size), new AsyncCallback<String>() {
           List<Throwable> fails = new ArrayList<Throwable>();
 
+          @Override
           public void onFailure(Throwable caught) {
             fails.add(caught);
             nextBatch();
           }
 
+          @Override
           public void onSuccess(String str) {
             try {
               verifyStringContainingCharacterRange(current, Math.min(end,
diff --git a/user/test/com/google/gwt/user/client/rpc/ValueTypesTest.java b/user/test/com/google/gwt/user/client/rpc/ValueTypesTest.java
index ecafa12..2d246ca 100644
--- a/user/test/com/google/gwt/user/client/rpc/ValueTypesTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/ValueTypesTest.java
@@ -64,10 +64,12 @@
     delayTestFinishForRpc();
     service.echo_FALSE(false, new AsyncCallback<Boolean>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Boolean result) {
         assertNotNull("Was null", result);
         assertFalse("Should have been false", result.booleanValue());
@@ -81,10 +83,12 @@
     delayTestFinishForRpc();
     service.echo_TRUE(true, new AsyncCallback<Boolean>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Boolean result) {
         assertNotNull(result);
         assertTrue(result.booleanValue());
@@ -98,10 +102,12 @@
     delayTestFinishForRpc();
     service.echo((byte) (Byte.MAX_VALUE / (byte) 2), new AsyncCallback<Byte>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Byte result) {
         assertNotNull(result);
         assertEquals(Byte.MAX_VALUE / 2, result.byteValue());
@@ -115,10 +121,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Byte.MAX_VALUE, new AsyncCallback<Byte>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Byte result) {
         assertNotNull(result);
         assertEquals(Byte.MAX_VALUE, result.byteValue());
@@ -132,10 +140,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Byte.MIN_VALUE, new AsyncCallback<Byte>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Byte result) {
         assertNotNull(result);
         assertEquals(Byte.MIN_VALUE, result.byteValue());
@@ -150,10 +160,12 @@
     final char value = (char) (Character.MAX_VALUE / (char) 2);
     service.echo(value, new AsyncCallback<Character>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Character result) {
         assertNotNull(result);
         assertEquals(value, result.charValue());
@@ -167,10 +179,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Character.MAX_VALUE, new AsyncCallback<Character>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Character result) {
         assertNotNull(result);
         assertEquals(Character.MAX_VALUE, result.charValue());
@@ -184,10 +198,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Character.MIN_VALUE, new AsyncCallback<Character>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Character result) {
         assertNotNull(result);
         assertEquals(Character.MIN_VALUE, result.charValue());
@@ -201,10 +217,12 @@
     delayTestFinishForRpc();
     service.echo(Double.MAX_VALUE / 2, new AsyncCallback<Double>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double result) {
         assertNotNull(result);
         assertEquals(Double.MAX_VALUE / 2, result.doubleValue(), 0.0);
@@ -218,10 +236,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Double.MAX_VALUE, new AsyncCallback<Double>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double result) {
         assertNotNull(result);
         assertEquals(Double.MAX_VALUE, result.doubleValue(), 0.0);
@@ -235,10 +255,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Double.MIN_VALUE, new AsyncCallback<Double>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double result) {
         assertNotNull(result);
         assertEquals(Double.MIN_VALUE, result.doubleValue(), 0.0);
@@ -255,10 +277,12 @@
     delayTestFinishForRpc();
     service.echo(Double.NaN, new AsyncCallback<Double>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double result) {
         assertNotNull(result);
         assertTrue(Double.isNaN(result.doubleValue()));
@@ -275,10 +299,12 @@
     delayTestFinishForRpc();
     service.echo(Double.NEGATIVE_INFINITY, new AsyncCallback<Double>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double result) {
         assertNotNull(result);
         double doubleValue = result.doubleValue();
@@ -296,10 +322,12 @@
     delayTestFinishForRpc();
     service.echo(Double.POSITIVE_INFINITY, new AsyncCallback<Double>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Double result) {
         assertNotNull(result);
         double doubleValue = result.doubleValue();
@@ -314,10 +342,12 @@
     delayTestFinishForRpc();
     service.echo(Float.MAX_VALUE / 2, new AsyncCallback<Float>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float result) {
         assertNotNull(result);
         assertEquals(Float.MAX_VALUE / 2, result.floatValue(), 0.0);
@@ -331,10 +361,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Float.MAX_VALUE, new AsyncCallback<Float>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float result) {
         assertNotNull(result);
         assertEquals(Float.MAX_VALUE, result.floatValue(), 0.0);
@@ -348,10 +380,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Float.MIN_VALUE, new AsyncCallback<Float>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float result) {
         assertNotNull(result);
         assertEquals(Float.MIN_VALUE, result.floatValue(), 0.0);
@@ -368,10 +402,12 @@
     delayTestFinishForRpc();
     service.echo(Float.NaN, new AsyncCallback<Float>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float result) {
         assertNotNull(result);
         assertTrue(Float.isNaN(result.floatValue()));
@@ -388,10 +424,12 @@
     delayTestFinishForRpc();
     service.echo(Float.NEGATIVE_INFINITY, new AsyncCallback<Float>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float result) {
         assertNotNull(result);
         float floatValue = result.floatValue();
@@ -409,10 +447,12 @@
     delayTestFinishForRpc();
     service.echo(Float.POSITIVE_INFINITY, new AsyncCallback<Float>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Float result) {
         assertNotNull(result);
         float floatValue = result.floatValue();
@@ -427,10 +467,12 @@
     delayTestFinishForRpc();
     service.echo(Integer.MAX_VALUE / 2, new AsyncCallback<Integer>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Integer result) {
         assertNotNull(result);
         assertEquals(Integer.MAX_VALUE / 2, result.intValue());
@@ -444,10 +486,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Integer.MAX_VALUE, new AsyncCallback<Integer>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Integer result) {
         assertNotNull(result);
         assertEquals(Integer.MAX_VALUE, result.intValue());
@@ -461,10 +505,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Integer.MIN_VALUE, new AsyncCallback<Integer>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Integer result) {
         assertNotNull(result);
         assertEquals(Integer.MIN_VALUE, result.intValue());
@@ -478,10 +524,12 @@
     delayTestFinishForRpc();
     service.echo(Long.MAX_VALUE / 2, new AsyncCallback<Long>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Long result) {
         assertNotNull(result);
         long expected = Long.MAX_VALUE / 2;
@@ -496,10 +544,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Long.MAX_VALUE, new AsyncCallback<Long>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Long result) {
         assertNotNull(result);
         assertEquals(Long.MAX_VALUE, result.longValue());
@@ -513,10 +563,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Long.MIN_VALUE, new AsyncCallback<Long>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Long result) {
         assertNotNull(result);
         assertEquals(Long.MIN_VALUE, result.longValue());
@@ -531,10 +583,12 @@
     final short value = (short) (Short.MAX_VALUE / 2);
     service.echo(value , new AsyncCallback<Short>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Short result) {
         assertNotNull(result);
         assertEquals(value, result.shortValue());
@@ -548,10 +602,12 @@
     delayTestFinishForRpc();
     service.echo_MAX_VALUE(Short.MAX_VALUE, new AsyncCallback<Short>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Short result) {
         assertNotNull(result);
         assertEquals(Short.MAX_VALUE, result.shortValue());
@@ -565,10 +621,12 @@
     delayTestFinishForRpc();
     service.echo_MIN_VALUE(Short.MIN_VALUE, new AsyncCallback<Short>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Short result) {
         assertNotNull(result);
         assertEquals(Short.MIN_VALUE, result.shortValue());
@@ -583,10 +641,12 @@
     service.echo(new SerializableGenericWrapperType<Void>(),
         new AsyncCallback<SerializableGenericWrapperType<Void>>() {
 
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(SerializableGenericWrapperType<Void> result) {
             assertNotNull(result);
             assertNull(result.getValue());
@@ -628,10 +688,12 @@
     ValueTypesTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.echo(value, new AsyncCallback<BigDecimal>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(BigDecimal result) {
         assertEquals(value, result);
         finishTest();
@@ -643,10 +705,12 @@
     ValueTypesTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.echo(value, new AsyncCallback<BigInteger>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(BigInteger result) {
         assertEquals(value, result);
         finishTest();
@@ -658,10 +722,12 @@
     ValueTypesTestServiceAsync service = getServiceAsync();
     delayTestFinishForRpc();
     service.echo(value, new AsyncCallback<String>() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(String result) {
         assertEquals(value, result);
         finishTest();
diff --git a/user/test/com/google/gwt/user/client/rpc/XsrfProtectionTest.java b/user/test/com/google/gwt/user/client/rpc/XsrfProtectionTest.java
index 6dcf6fd..669c98a 100644
--- a/user/test/com/google/gwt/user/client/rpc/XsrfProtectionTest.java
+++ b/user/test/com/google/gwt/user/client/rpc/XsrfProtectionTest.java
@@ -63,12 +63,14 @@
     delayTestFinishForRpc();
 
     service.drink("kumys", new AsyncCallback<Void>() {
+      @Override
       public void onFailure(Throwable caught) {
         RpcTokenException e = (RpcTokenException) caught;
         assertTrue(e.getMessage().contains("XSRF token missing"));
         checkServerState("kumys", false);
       }
 
+      @Override
       public void onSuccess(Void result) {
         fail("Should've failed without XSRF token");
       }
@@ -83,10 +85,12 @@
 
     service.drink("maksym", new AsyncCallback<Void>() {
 
+      @Override
       public void onSuccess(Void result) {
         fail("Should've failed with bad XSRF token");
       }
 
+      @Override
       public void onFailure(Throwable caught) {
         checkServerState("maksym", false);
       }
@@ -99,6 +103,7 @@
     delayTestFinishForRpc();
 
     xsrfService.getNewXsrfToken(new AsyncCallback<XsrfToken>() {
+      @Override
       public void onSuccess(XsrfToken result) {
         assertNotNull(result);
         assertNotNull(result.getToken());
@@ -107,6 +112,7 @@
         finishTest();
       }
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
@@ -120,20 +126,24 @@
 
     xsrfService.getNewXsrfToken(new AsyncCallback<XsrfToken>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(XsrfToken result) {
         XsrfTestServiceAsync service = getAsyncService();
 
         ((HasRpcToken) service).setRpcToken(result);
         service.drink("airan", new AsyncCallback<Void>() {
 
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Void result) {
             checkServerState("airan", true);
           }
@@ -151,10 +161,12 @@
 
     xsrfService.getNewXsrfToken(new AsyncCallback<XsrfToken>() {
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(XsrfToken result) {
         // Ensure it's MD5
         assertEquals(32, result.getToken().length());
@@ -167,6 +179,7 @@
 
         service.drink("bozo", new AsyncCallback<Void>() {
 
+          @Override
           public void onFailure(Throwable caught) {
             RpcTokenException e = (RpcTokenException) caught;
             assertTrue(e.getMessage().contains(
@@ -174,6 +187,7 @@
             checkServerState("bozo", false);
           }
 
+          @Override
           public void onSuccess(Void result) {
             fail("Should've failed since session cookie has changed");
           }
@@ -187,11 +201,13 @@
 
     service.checkIfDrankDrink(drink, new AsyncCallback<Boolean>() {
 
+      @Override
       public void onSuccess(Boolean result) {
         assertTrue(stateShouldChange == result);
         finishTest();
       }
 
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
diff --git a/user/test/com/google/gwt/user/client/ui/AnchorTest.java b/user/test/com/google/gwt/user/client/ui/AnchorTest.java
index e5d9960..d627eda 100644
--- a/user/test/com/google/gwt/user/client/ui/AnchorTest.java
+++ b/user/test/com/google/gwt/user/client/ui/AnchorTest.java
@@ -31,6 +31,7 @@
     private int clicks = 0;
     private Object lastSender;
 
+    @Override
     public void onClick(ClickEvent event) {
       clicks++;
       lastSender = event.getSource();
@@ -84,6 +85,7 @@
     private int clicks = 0;
     private Widget lastSender;
 
+    @Override
     public void onClick(Widget sender) {
       clicks++;
       lastSender = sender;
diff --git a/user/test/com/google/gwt/user/client/ui/ButtonTest.java b/user/test/com/google/gwt/user/client/ui/ButtonTest.java
index a70cd17..53af935 100644
--- a/user/test/com/google/gwt/user/client/ui/ButtonTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ButtonTest.java
@@ -40,6 +40,7 @@
     boolean clicked;
     EventTarget target;
 
+    @Override
     public void onClick(ClickEvent event) {
       target = event.getNativeEvent().getEventTarget();
       clicked = true;
@@ -49,6 +50,7 @@
   private static class H2 implements SubmitHandler {
     boolean submitted;
 
+    @Override
     public void onSubmit(SubmitEvent event) {
       submitted = true;
       event.cancel();
diff --git a/user/test/com/google/gwt/user/client/ui/CheckBoxTest.java b/user/test/com/google/gwt/user/client/ui/CheckBoxTest.java
index 460b14d..ef7e164 100644
--- a/user/test/com/google/gwt/user/client/ui/CheckBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/CheckBoxTest.java
@@ -43,6 +43,7 @@
       });
     }
 
+    @Override
     public void onClick(Widget sender) {
       ++fired;
     }
@@ -51,6 +52,7 @@
   private static class Handler implements ValueChangeHandler<Boolean> {
     Boolean received = null;
 
+    @Override
     public void onValueChange(ValueChangeEvent<Boolean> event) {
       received = event.getValue();
     }
@@ -183,6 +185,7 @@
 
     check.setText("Burger");
     check.addClickHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent arg0) {
         clickCount[0]++;
       }
diff --git a/user/test/com/google/gwt/user/client/ui/CompositeTest.java b/user/test/com/google/gwt/user/client/ui/CompositeTest.java
index 7372dc4..d705a0e 100644
--- a/user/test/com/google/gwt/user/client/ui/CompositeTest.java
+++ b/user/test/com/google/gwt/user/client/ui/CompositeTest.java
@@ -53,21 +53,25 @@
       sinkEvents(Event.FOCUSEVENTS);
 
       tb.addFocusListener(new FocusListener() {
+        @Override
         public void onLostFocus(Widget sender) {
           widgetLostFocusFired = true;
         }
 
+        @Override
         public void onFocus(Widget sender) {
           widgetFocusFired = true;
         }
       });
 
       tb.addFocusHandler(new FocusHandler() {
+        @Override
         public void onFocus(FocusEvent event) {
           widgetFocusHandlerFired = true;
         }
       });
       tb.addBlurHandler(new BlurHandler() {
+        @Override
         public void onBlur(BlurEvent event) {
           widgetBlurHandlerFired = true;
         }
@@ -104,8 +108,10 @@
     // deferred commands, because focus events usually require the event loop
     // to be pumped in order to fire.
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         DeferredCommand.addCommand(new Command() {
+          @Override
           public void execute() {
             // Ensure all events fired as expected.
             assertTrue(c.domFocusFired);
@@ -141,6 +147,7 @@
       int delegateAttachOrder;
       int delegateDetachOrder;
 
+      @Override
       public void onAttachOrDetach(AttachEvent event) {
         if (event.isAttached()) {
           delegateAttachOrder = ++orderIndex;
diff --git a/user/test/com/google/gwt/user/client/ui/CreateEventTest.java b/user/test/com/google/gwt/user/client/ui/CreateEventTest.java
index 682510f..262223a 100644
--- a/user/test/com/google/gwt/user/client/ui/CreateEventTest.java
+++ b/user/test/com/google/gwt/user/client/ui/CreateEventTest.java
@@ -129,6 +129,7 @@
       cancelled = true;
     }
 
+    @Override
     public void onBrowserEvent(Event event) {
       if (cancelled) {
         return;
@@ -178,6 +179,7 @@
   private static class CurrentEventListener implements EventListener {
     public boolean gotClick, gotKeyPress, gotFocus;
 
+    @Override
     public void onBrowserEvent(Event event) {
       switch (Event.getCurrentEvent().getTypeInt()) {
         case Event.ONCLICK:
@@ -209,6 +211,7 @@
       cancelled = true;
     }
 
+    @Override
     public void onBrowserEvent(Event event) {
       if (cancelled) {
         return;
@@ -246,6 +249,7 @@
       this.eventType = eventType;
     }
 
+    @Override
     public void onBrowserEvent(Event event) {
       if (event.getType().equals(eventType)) {
         if (event.getEventTarget().equals(img)) {
@@ -511,6 +515,7 @@
   public void testTriggerKeyDownEvent() {
     KeyCodeEventListener listener = new KeyCodeEventListener("keydown");
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createKeyDownEvent(ctrlKey, altKey, shiftKey,
@@ -530,6 +535,7 @@
   public void testTriggerKeyPressEvent() {
     KeyPressEventListener listener = new KeyPressEventListener();
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createKeyPressEvent(ctrlKey, altKey, shiftKey,
@@ -546,6 +552,7 @@
   public void testTriggerKeyUpEvent() {
     KeyCodeEventListener listener = new KeyCodeEventListener("keyup");
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createKeyUpEvent(ctrlKey, altKey, shiftKey,
@@ -575,6 +582,7 @@
   public void testTriggerMouseDownEvent() {
     MouseEventListener listener = new MouseEventListener("mousedown");
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createMouseDownEvent(MOUSE_DETAIL, SCREEN_X,
@@ -592,6 +600,7 @@
   public void testTriggerMouseMoveEvent() {
     MouseEventListener listener = new MouseEventListener("mousemove");
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createMouseMoveEvent(MOUSE_DETAIL, SCREEN_X,
@@ -619,6 +628,7 @@
       }
     };
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createMouseOutEvent(MOUSE_DETAIL, SCREEN_X,
@@ -646,6 +656,7 @@
       }
     };
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createMouseOverEvent(MOUSE_DETAIL, SCREEN_X,
@@ -663,6 +674,7 @@
   public void testTriggerMouseUpEvent() {
     MouseEventListener listener = new MouseEventListener("mouseup");
     EventCreator creator = new EventCreator() {
+      @Override
       public NativeEvent createEvent(boolean ctrlKey, boolean altKey,
           boolean shiftKey, boolean metaKey) {
         return Document.get().createMouseUpEvent(MOUSE_DETAIL, SCREEN_X,
diff --git a/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java b/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
index 18e2c23..e5b9e03 100644
--- a/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
+++ b/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
@@ -40,6 +40,7 @@
   private static class Handler implements ValueChangeHandler<Boolean> {
     Boolean received = null;
     
+    @Override
     public void onValueChange(ValueChangeEvent<Boolean> event) {
       received = event.getValue();
     }
@@ -47,6 +48,7 @@
 
   private static final String html = "<b>hello</b><i>world</i>";
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
@@ -160,6 +162,7 @@
     Handler h = new Handler();
 
     b.addClickHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent event) {
         events.add(event.getNativeEvent().getType());
       }
diff --git a/user/test/com/google/gwt/user/client/ui/DatePickerTest.java b/user/test/com/google/gwt/user/client/ui/DatePickerTest.java
index 0696eb2..d2361f0 100644
--- a/user/test/com/google/gwt/user/client/ui/DatePickerTest.java
+++ b/user/test/com/google/gwt/user/client/ui/DatePickerTest.java
@@ -156,6 +156,7 @@
     datesLaterList.add(dateLater5);
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/ui/DelegatingKeyboardListenerCollectionTest.java b/user/test/com/google/gwt/user/client/ui/DelegatingKeyboardListenerCollectionTest.java
index 5204350..47fd100 100644
--- a/user/test/com/google/gwt/user/client/ui/DelegatingKeyboardListenerCollectionTest.java
+++ b/user/test/com/google/gwt/user/client/ui/DelegatingKeyboardListenerCollectionTest.java
@@ -89,6 +89,7 @@
   // The name of the last event fired
   private String lastEventName;
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
@@ -104,6 +105,7 @@
    *          {@link KeyboardListener#MODIFIER_CTRL}, and
    *          {@link KeyboardListener#MODIFIER_ALT}.
    */
+  @Override
   public void onKeyDown(Widget sender, char keyCode, int modifiers) {
     this.handleKeyEvent(sender, "onKeyDown");
   }
@@ -119,6 +121,7 @@
    *          {@link KeyboardListener#MODIFIER_CTRL}, and
    *          {@link KeyboardListener#MODIFIER_ALT}.
    */
+  @Override
   public void onKeyPress(Widget sender, char keyCode, int modifiers) {
     this.handleKeyEvent(sender, "onKeyPress");
   }
@@ -134,6 +137,7 @@
    *          {@link KeyboardListener#MODIFIER_CTRL}, and
    *          {@link KeyboardListener#MODIFIER_ALT}.
    */
+  @Override
   public void onKeyUp(Widget sender, char keyCode, int modifiers) {
     this.handleKeyEvent(sender, "onKeyUp");
   }
diff --git a/user/test/com/google/gwt/user/client/ui/DialogBoxTest.java b/user/test/com/google/gwt/user/client/ui/DialogBoxTest.java
index 1958a10..763eb66 100644
--- a/user/test/com/google/gwt/user/client/ui/DialogBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/DialogBoxTest.java
@@ -54,46 +54,57 @@
       initWidget(panel);
     }
 
+    @Override
     public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
       return panel.addMouseDownHandler(handler);
     }
 
+    @Override
     public HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler) {
       return panel.addMouseMoveHandler(handler);
     }
 
+    @Override
     public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {
       return panel.addMouseOutHandler(handler);
     }
 
+    @Override
     public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {
       return panel.addMouseOverHandler(handler);
     }
 
+    @Override
     public HandlerRegistration addMouseUpHandler(MouseUpHandler handler) {
       return panel.addMouseUpHandler(handler);
     }
 
+    @Override
     public HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler) {
       return panel.addMouseWheelHandler(handler);
     }
 
+    @Override
     public String getHTML() {
       return htmlWidget.getHTML();
     }
 
+    @Override
     public String getText() {
       return htmlWidget.getText();
     }
 
+    @Override
     public void setHTML(SafeHtml html) {
       htmlWidget.setHTML(html);
     }
 
+    @Override
     public void setHTML(String html) {
       this.htmlWidget.setHTML(html);
     }
 
+    @Override
     public void setText(String text) {
       htmlWidget.setText(text);
     }
@@ -163,6 +174,7 @@
     delayTestFinish(5000);
     // Check the header IDs
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         UIObjectTest.assertDebugIdContents("myDialogBox-caption",
         "test caption");
@@ -254,6 +266,7 @@
     final DialogBox dialogBox = new DialogBox(false, true);
     Button button = new Button();
     button.addClickHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent event) {
         dialogBox.hide();
       }
diff --git a/user/test/com/google/gwt/user/client/ui/DisclosurePanelTest.java b/user/test/com/google/gwt/user/client/ui/DisclosurePanelTest.java
index 92ad196..320a9b0 100644
--- a/user/test/com/google/gwt/user/client/ui/DisclosurePanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/DisclosurePanelTest.java
@@ -110,6 +110,7 @@
         panel.getHandlerManager().getHandlerCount(CloseEvent.getType()));
     panel.addCloseHandler(new CloseHandler<DisclosurePanel>() {
 
+      @Override
       public void onClose(CloseEvent<DisclosurePanel> event) {
         // for now nothing.
       }
@@ -128,21 +129,25 @@
     final DisclosurePanel panel = createTestPanel();
 
     DisclosureHandler handleA = new DisclosureHandler() {
+      @Override
       public void onClose(DisclosureEvent event) {
         aDidFire[CLOSE] = true;
       }
 
+      @Override
       public void onOpen(DisclosureEvent event) {
         aDidFire[OPEN] = true;
       }
     };
 
     DisclosureHandler handleB = new DisclosureHandler() {
+      @Override
       public void onClose(DisclosureEvent event) {
         assertEquals(event.getSource(), panel);
         bDidFire[CLOSE] = true;
       }
 
+      @Override
       public void onOpen(DisclosureEvent event) {
         assertEquals(event.getSource(), panel);
         bDidFire[OPEN] = true;
diff --git a/user/test/com/google/gwt/user/client/ui/DockPanelTest.java b/user/test/com/google/gwt/user/client/ui/DockPanelTest.java
index 6e329b8..066c40d 100644
--- a/user/test/com/google/gwt/user/client/ui/DockPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/DockPanelTest.java
@@ -26,6 +26,7 @@
 public class DockPanelTest extends GWTTestCase {
 
   static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((DockPanel) container).add(child, DockPanel.NORTH);
     }
diff --git a/user/test/com/google/gwt/user/client/ui/FileUploadTest.java b/user/test/com/google/gwt/user/client/ui/FileUploadTest.java
index ecdb772..68eb27a 100644
--- a/user/test/com/google/gwt/user/client/ui/FileUploadTest.java
+++ b/user/test/com/google/gwt/user/client/ui/FileUploadTest.java
@@ -23,6 +23,7 @@
  */
 public class FileUploadTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/ui/FiniteWidgetIteratorTest.java b/user/test/com/google/gwt/user/client/ui/FiniteWidgetIteratorTest.java
index 6003146..d38c24f 100644
--- a/user/test/com/google/gwt/user/client/ui/FiniteWidgetIteratorTest.java
+++ b/user/test/com/google/gwt/user/client/ui/FiniteWidgetIteratorTest.java
@@ -55,6 +55,7 @@
       widgets.put(index, w);
     }
 
+    @Override
     public Widget get(int index) {
       if (!widgets.containsKey(index)) {
         fail("A widget was not specified for index: " + index);
diff --git a/user/test/com/google/gwt/user/client/ui/FlexTableTest.java b/user/test/com/google/gwt/user/client/ui/FlexTableTest.java
index de1626c..c362df9 100644
--- a/user/test/com/google/gwt/user/client/ui/FlexTableTest.java
+++ b/user/test/com/google/gwt/user/client/ui/FlexTableTest.java
@@ -22,6 +22,7 @@
  */
 public class FlexTableTest extends HTMLTableTestBase {
 
+  @Override
   public HTMLTable getTable(int row, int column) {
     return new FlexTable();
   }
diff --git a/user/test/com/google/gwt/user/client/ui/FormPanelTest.java b/user/test/com/google/gwt/user/client/ui/FormPanelTest.java
index 6957306..0632a31 100644
--- a/user/test/com/google/gwt/user/client/ui/FormPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/FormPanelTest.java
@@ -55,11 +55,13 @@
     form.setAction("http://www.google.com/search");
 
     form.addSubmitHandler(new SubmitHandler() {
+      @Override
       public void onSubmit(SubmitEvent event) {
         event.cancel();
       }
     });
     form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
+      @Override
       public void onSubmitComplete(SubmitCompleteEvent event) {
         fail("Form was canceled and should not have been submitted");
       }
@@ -83,6 +85,7 @@
 
     delayTestFinish(TEST_DELAY);
     form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
+      @Override
       public void onSubmitComplete(SubmitCompleteEvent event) {
         // The server just echoes the contents of the request. The following
         // string should have been present in it.
@@ -150,6 +153,7 @@
     delayTestFinish(TEST_DELAY);
 
     form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
+      @Override
       public void onSubmitComplete(SubmitCompleteEvent event) {
         // The server just echoes the query string. This is what it should look
         // like.
@@ -186,6 +190,7 @@
     // Submit the form using the submit button and make sure the submit event fires.
     delayTestFinish(TEST_DELAY);
     form.addSubmitHandler(new SubmitHandler() {
+      @Override
       public void onSubmit(SubmitEvent event) {
         finishTest();
       }
@@ -223,6 +228,7 @@
 
     delayTestFinish(TEST_DELAY);
     form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
+      @Override
       public void onSubmitComplete(SubmitCompleteEvent event) {
         // Make sure we get our results back.
         assertTrue(event.getResults().equals("tb=text"));
@@ -336,6 +342,7 @@
     // Give the submit 5s to complete.
     delayTestFinish(TEST_DELAY);
     form.addSubmitCompleteHandler(new SubmitCompleteHandler() {
+      @Override
       public void onSubmitComplete(SubmitCompleteEvent event) {
         // Make sure we get our results back.
         assertTrue(event.getResults().equals("tb=text"));
diff --git a/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java b/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java
index 4e894f9..a67e9ab 100644
--- a/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java
+++ b/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java
@@ -35,6 +35,7 @@
   static class Adder implements HasWidgetsTester.WidgetAdder {
     private int row = -1;
 
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((HTMLTable) container).setWidget(++row, 0, child);
     }
diff --git a/user/test/com/google/gwt/user/client/ui/HasWidgetsTester.java b/user/test/com/google/gwt/user/client/ui/HasWidgetsTester.java
index 3fb5e53..a91aa45 100644
--- a/user/test/com/google/gwt/user/client/ui/HasWidgetsTester.java
+++ b/user/test/com/google/gwt/user/client/ui/HasWidgetsTester.java
@@ -47,6 +47,7 @@
    * {@link HasWidgets#add(Widget)} will not throw an exception.
    */
   static class DefaultWidgetAdder implements WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       container.add(child);
     }
diff --git a/user/test/com/google/gwt/user/client/ui/HeaderPanelTest.java b/user/test/com/google/gwt/user/client/ui/HeaderPanelTest.java
index f90cafd..d2eb1d6 100644
--- a/user/test/com/google/gwt/user/client/ui/HeaderPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/HeaderPanelTest.java
@@ -152,6 +152,7 @@
 
     delayTestFinish(5000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         assertEquals(300, content.getOffsetHeight());
 
@@ -189,6 +190,7 @@
 
     delayTestFinish(5000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         assertEquals(300, content.getOffsetHeight());
 
diff --git a/user/test/com/google/gwt/user/client/ui/HiddenTest.java b/user/test/com/google/gwt/user/client/ui/HiddenTest.java
index fcead5d..d856678 100644
--- a/user/test/com/google/gwt/user/client/ui/HiddenTest.java
+++ b/user/test/com/google/gwt/user/client/ui/HiddenTest.java
@@ -22,6 +22,7 @@
  */
 public class HiddenTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/ui/ImageTest.java b/user/test/com/google/gwt/user/client/ui/ImageTest.java
index 2d2c458..abaee9a 100644
--- a/user/test/com/google/gwt/user/client/ui/ImageTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ImageTest.java
@@ -54,6 +54,7 @@
       this.image = image;
     }
 
+    @Override
     public void onError(ErrorEvent event) {
       fail("The image " + image.getUrl() + " failed to load.");
     }
@@ -119,6 +120,7 @@
       return finished;
     }
 
+    @Override
     public void onError(Widget sender) {
       fail("The image " + image.getUrl() + " failed to load.");
     }
@@ -221,6 +223,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         ++onLoadEventCount;
         if (onLoadEventCount == 1) { // Set the url after the first image loads
@@ -252,6 +255,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         if (getCurrentImageStateName(image).equals("unclipped")) {
           image.setVisibleRect(12, 13, 8, 8);
@@ -291,6 +295,7 @@
 
     image.addErrorHandler(new TestErrorHandler(image));
     final TestLoadHandler loadHandler = new TestLoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         if (isFinished()) {
           fail("LoadHandler fired twice. Expected it to fire only once.");
@@ -338,6 +343,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         if (++onLoadEventCount == 1) {
           assertEquals(32, image.getWidth());
@@ -362,11 +368,13 @@
 
     delayTestFinish(DEFAULT_TEST_TIMEOUT);
     image.addErrorHandler(new ErrorHandler() {
+      @Override
       public void onError(ErrorEvent event) {
         finishTest();
       }
     });
     image.addLoadHandler(new LoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         fail("The image " + image.getUrl() + " should have failed to load.");
       }
@@ -388,6 +396,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         if (++onLoadEventCount == 2) {
           finishTest();
@@ -416,6 +425,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         if (getCurrentImageStateName(image).equals("unclipped")) {
           image.setUrlAndVisibleRect("counting-forwards.png", 0, 16, 16, 16);
@@ -446,6 +456,7 @@
     final TestLoadListener listener = new TestLoadListener(image) {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(Widget sender) {
         if (++onLoadEventCount == 1) {
           assertEquals(16, image.getWidth());
@@ -459,6 +470,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         if (++onLoadEventCount == 1) {
           assertEquals(16, image.getWidth());
@@ -485,10 +497,12 @@
 
     im.addLoadListener(new LoadListener() {
 
+      @Override
       public void onError(Widget sender) {
         ++firedError;
       }
 
+      @Override
       public void onLoad(Widget sender) {
         ++firedLoad;
       }
@@ -512,6 +526,7 @@
     final Image image = new Image("counting-forwards.png");
 
     final TestLoadHandler loadHandler = new TestLoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         if (isFinished()) {
           fail("LoadHandler fired multiple times.");
@@ -552,6 +567,7 @@
     image.addLoadHandler(new LoadHandler() {
       private int onLoadEventCount = 0;
 
+      @Override
       public void onLoad(LoadEvent event) {
         if (++onLoadEventCount == 1) {
           RootPanel.get().remove(image);
@@ -571,6 +587,7 @@
     final Image image = new Image("counting-forwards.png");
 
     final TestLoadHandler loadHandler = new TestLoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         if (isFinished()) {
           fail("LoadHandler fired multiple times.");
@@ -596,6 +613,7 @@
     final Image image = new Image("counting-forwards.png", 12, 13, 8, 8);
 
     final TestLoadHandler loadHandler = new TestLoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         if (isFinished()) {
           fail("LoadHandler fired multiple times.");
@@ -670,6 +688,7 @@
     final Image image = new Image("counting-backwards.png", 12, 12, 12, 12);
 
     final TestLoadListener listener = new TestLoadListener(image) {
+      @Override
       public void onLoad(Widget sender) {
         if (isFinished()) {
           fail("LoadListener fired twice. Expected it to fire only once.");
@@ -686,6 +705,7 @@
     image.addLoadListener(listener);
 
     final TestLoadHandler loadHandler = new TestLoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         if (isFinished()) {
           fail("LoadHandler fired twice. Expected it to fire only once.");
@@ -730,6 +750,7 @@
     final Image image = new Image("counting-backwards.png", 16, 16, 16, 16);
 
     final TestLoadListener listener = new TestLoadListener(image) {
+      @Override
       public void onLoad(Widget sender) {
         if (isFinished()) {
           fail("LoadListener fired twice. Expected it to fire only once.");
@@ -740,6 +761,7 @@
     image.addLoadListener(listener);
 
     final TestLoadHandler loadHandler = new TestLoadHandler() {
+      @Override
       public void onLoad(LoadEvent event) {
         if (isFinished()) {
           fail("LoadHandler fired twice. Expected it to fire only once.");
diff --git a/user/test/com/google/gwt/user/client/ui/IsWidgetImpl.java b/user/test/com/google/gwt/user/client/ui/IsWidgetImpl.java
index 0901353..7cfb227 100644
--- a/user/test/com/google/gwt/user/client/ui/IsWidgetImpl.java
+++ b/user/test/com/google/gwt/user/client/ui/IsWidgetImpl.java
@@ -25,6 +25,7 @@
     this.w = w;
   }
 
+  @Override
   public Widget asWidget() {
     return w;
   }
diff --git a/user/test/com/google/gwt/user/client/ui/IsWidgetTest.java b/user/test/com/google/gwt/user/client/ui/IsWidgetTest.java
index f17aff0..8364939 100644
--- a/user/test/com/google/gwt/user/client/ui/IsWidgetTest.java
+++ b/user/test/com/google/gwt/user/client/ui/IsWidgetTest.java
@@ -30,10 +30,12 @@
   }
 
   static class SomeViewMock implements SomeView {
+    @Override
     public Widget asWidget() {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void blah() {
       throw new UnsupportedOperationException();
     }
@@ -42,26 +44,32 @@
   static class MockPanel implements HasWidgets.ForIsWidget {
     List<IsWidget> children = new ArrayList<IsWidget>();
     
+    @Override
     public void add(Widget w) {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void clear() {
       children.clear();
     }
 
+    @Override
     public Iterator<Widget> iterator() {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public boolean remove(Widget w) {
       throw new UnsupportedOperationException();
     }
 
+    @Override
     public void add(IsWidget w) {
       children.add(w);
     }
 
+    @Override
     public boolean remove(IsWidget w) {
       return children.remove(w);
     }
@@ -70,6 +78,7 @@
   static class MockDisplay implements AcceptsOneWidget {
     IsWidget w;
 
+    @Override
     public void setWidget(IsWidget w) {
       this.w = w;
     }
diff --git a/user/test/com/google/gwt/user/client/ui/LayoutPanelTest.java b/user/test/com/google/gwt/user/client/ui/LayoutPanelTest.java
index a8e63ce..1999612 100644
--- a/user/test/com/google/gwt/user/client/ui/LayoutPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/LayoutPanelTest.java
@@ -48,11 +48,14 @@
     delayTestFinish(5000);
     // Fully qualified to avoid the deprecation warning in the import section
     com.google.gwt.user.client.DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         p.animate(100, new AnimationCallback() {
+          @Override
           public void onLayout(Layer layer, double progress) {
           }
 
+          @Override
           public void onAnimationComplete() {
             // If LayoutCommand is broken, this will never happen.
             finishTest();
@@ -81,6 +84,7 @@
     delayTestFinish(2000);
     // Fully qualified to avoid the deprecation warning in the import section
     com.google.gwt.user.client.DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         int offsetWidth = lp.getOffsetWidth();
         int offsetHeight = lp.getOffsetHeight();
@@ -469,6 +473,7 @@
     delayTestFinish(2000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
 
+      @Override
       public void execute() {
         Layer layer = (Layout.Layer) widget.getLayoutData();
         LayerFriend helper = new LayerFriend(layer);
diff --git a/user/test/com/google/gwt/user/client/ui/LinearPanelTest.java b/user/test/com/google/gwt/user/client/ui/LinearPanelTest.java
index 4970c25..c586472 100644
--- a/user/test/com/google/gwt/user/client/ui/LinearPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/LinearPanelTest.java
@@ -24,6 +24,7 @@
  */
 public class LinearPanelTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/ui/ListBoxTest.java b/user/test/com/google/gwt/user/client/ui/ListBoxTest.java
index 0168129..fb3736a 100644
--- a/user/test/com/google/gwt/user/client/ui/ListBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ListBoxTest.java
@@ -60,6 +60,7 @@
 
     delayTestFinish(5000);
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         UIObjectTest.assertDebugIdContents("myList-item0", "option0");
         UIObjectTest.assertDebugIdContents("myList-item1", "option1");
diff --git a/user/test/com/google/gwt/user/client/ui/MenuBarTest.java b/user/test/com/google/gwt/user/client/ui/MenuBarTest.java
index 3edf567..9912c96 100644
--- a/user/test/com/google/gwt/user/client/ui/MenuBarTest.java
+++ b/user/test/com/google/gwt/user/client/ui/MenuBarTest.java
@@ -39,6 +39,7 @@
    * A blank command.
    */
   private static final Command BLANK_COMMAND = new Command() {
+    @Override
     public void execute() {
     }
   };
@@ -47,6 +48,7 @@
    * A blank scheduled command.
    */
   private static final ScheduledCommand BLANK_SCHEDULED_COMMAND = new ScheduledCommand() {
+    @Override
     public void execute() {
     }
   };
@@ -308,6 +310,7 @@
 
     delayTestFinish(5000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         UIObjectTest.assertDebugIdContents("myMenu-item0", "top0");
         UIObjectTest.assertDebugIdContents("myMenu-item1", "top1");
diff --git a/user/test/com/google/gwt/user/client/ui/MockParser.java b/user/test/com/google/gwt/user/client/ui/MockParser.java
index 3fd7477..d4d8bde 100644
--- a/user/test/com/google/gwt/user/client/ui/MockParser.java
+++ b/user/test/com/google/gwt/user/client/ui/MockParser.java
@@ -23,6 +23,7 @@
   public boolean throwException;
   public boolean parseCalled;
 
+  @Override
   public String parse(CharSequence text) throws ParseException {
     parseCalled = true;
     
diff --git a/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java b/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java
index ff54a362..147142e 100644
--- a/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java
+++ b/user/test/com/google/gwt/user/client/ui/NamedFrameTest.java
@@ -22,6 +22,7 @@
  */
 public class NamedFrameTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/ui/NativeScrollbarTestBase.java b/user/test/com/google/gwt/user/client/ui/NativeScrollbarTestBase.java
index 9879ad2..411cbfa 100644
--- a/user/test/com/google/gwt/user/client/ui/NativeScrollbarTestBase.java
+++ b/user/test/com/google/gwt/user/client/ui/NativeScrollbarTestBase.java
@@ -73,6 +73,7 @@
     // Wait for the scroll size to take effect.
     delayTestFinish(TEST_TIMEOUT);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         // Scroll to position 100.
         setScrollPosition(scrollbar, 100);
@@ -80,9 +81,11 @@
 
         // Wait for the scroll position to take effect.
         Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+          @Override
           public void execute() {
             // Add a scroll handler.
             final TestScrollHandler handler = new TestScrollHandler() {
+              @Override
               public void onScroll(ScrollEvent event) {
                 finish();
               }
@@ -111,6 +114,7 @@
   public void testSetScrollPosition() {
     // Add a scroll handler.
     final TestScrollHandler handler = new TestScrollHandler() {
+      @Override
       public void onScroll(ScrollEvent event) {
         finish();
       }
@@ -123,6 +127,7 @@
     // Wait for the scroll size to take effect.
     delayTestFinish(TEST_TIMEOUT);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         // Set the scroll position.
         setScrollPosition(scrollbar, 100);
@@ -159,6 +164,7 @@
     // Wait for the scroll size to take effect.
     delayTestFinish(TEST_TIMEOUT);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         // Scroll to position 100.
         setScrollPosition(scrollbar, 100);
@@ -166,9 +172,11 @@
 
         // Wait for the scroll position to take effect.
         Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+          @Override
           public void execute() {
             // Add a scroll handler.
             final TestScrollHandler handler = new TestScrollHandler() {
+              @Override
               public void onScroll(ScrollEvent event) {
                 finish();
               }
diff --git a/user/test/com/google/gwt/user/client/ui/PopupTest.java b/user/test/com/google/gwt/user/client/ui/PopupTest.java
index c784548..f7ea786 100644
--- a/user/test/com/google/gwt/user/client/ui/PopupTest.java
+++ b/user/test/com/google/gwt/user/client/ui/PopupTest.java
@@ -36,6 +36,7 @@
    * The Widget adder used to set the widget in a {@link PopupPanel}.
    */
   private static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((PopupPanel) container).setWidget(child);
     }
@@ -367,6 +368,7 @@
     // Ensure that hiding the popup fires the appropriate events.
     delayTestFinish(1000);
     popup.addCloseHandler(new CloseHandler<PopupPanel>() {
+      @Override
       public void onClose(CloseEvent<PopupPanel> event) {
         finishTest();
       }
diff --git a/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java b/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java
index 38e8d5e..fa9c2f3 100644
--- a/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java
+++ b/user/test/com/google/gwt/user/client/ui/PrefixTreeTest.java
@@ -24,6 +24,7 @@
  * TODO(bobv): comment me.
  */
 public class PrefixTreeTest extends GWTTestCase {
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
diff --git a/user/test/com/google/gwt/user/client/ui/RadioButtonTest.java b/user/test/com/google/gwt/user/client/ui/RadioButtonTest.java
index b1d3317..eb9bc79 100644
--- a/user/test/com/google/gwt/user/client/ui/RadioButtonTest.java
+++ b/user/test/com/google/gwt/user/client/ui/RadioButtonTest.java
@@ -34,6 +34,7 @@
   private static class Changeable implements ValueChangeHandler<Boolean> {
     Boolean received;
 
+    @Override
     public void onValueChange(ValueChangeEvent<Boolean> event) {
       received = event.getValue();
     }
diff --git a/user/test/com/google/gwt/user/client/ui/ResetButtonTest.java b/user/test/com/google/gwt/user/client/ui/ResetButtonTest.java
index 524ce9c..ec8fe34 100644
--- a/user/test/com/google/gwt/user/client/ui/ResetButtonTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ResetButtonTest.java
@@ -35,6 +35,7 @@
     boolean clicked;
     EventTarget target;
 
+    @Override
     public void onClick(ClickEvent event) {
       target = event.getNativeEvent().getEventTarget();
       clicked = true;
diff --git a/user/test/com/google/gwt/user/client/ui/ResizeLayoutPanelTest.java b/user/test/com/google/gwt/user/client/ui/ResizeLayoutPanelTest.java
index ca82d5d..9a52d5f 100644
--- a/user/test/com/google/gwt/user/client/ui/ResizeLayoutPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ResizeLayoutPanelTest.java
@@ -46,6 +46,7 @@
       resizeFired = false;
     }
 
+    @Override
     public void onResize(ResizeEvent event) {
       assertFalse(resizeFired);
       resizeFired = true;
@@ -70,6 +71,7 @@
     delayTestFinish(10000);
     RootPanel.get().add(panel);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         handler.assertResizeFired(true);
         panel.removeFromParent();
@@ -103,6 +105,7 @@
     // Wait for the resize event from attaching.
     delayTestFinish(10000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         handler.assertResizeFired(true); // Triggered by attach.
         handler.assertResizeFired(false);
@@ -129,6 +132,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(100, 100);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setHeight("101px");
       }
@@ -143,6 +147,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(100, 100);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setWidth("101px");
       }
@@ -158,6 +163,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(20, 20);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setHeight("21px");
       }
@@ -173,6 +179,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(20, 20);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setWidth("21px");
       }
@@ -193,6 +200,7 @@
     delayTestFinish(10000);
     RootPanel.get().add(panel);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         assertEquals(1, resized.size());
         finishTest();
@@ -208,6 +216,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(100, 100);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setHeight("99px");
       }
@@ -222,6 +231,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(100, 100);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setWidth("99px");
       }
@@ -237,6 +247,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(21, 21);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setHeight("20px");
       }
@@ -252,6 +263,7 @@
     final SimplePanel container = new SimplePanel();
     container.setPixelSize(21, 21);
     testResizeContainer(container, new Command() {
+      @Override
       public void execute() {
         container.setWidth("20px");
       }
@@ -287,6 +299,7 @@
     // Wait for the resize event from attaching.
     delayTestFinish(10000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         handler.assertResizeFired(true); // Triggered by attach.
 
diff --git a/user/test/com/google/gwt/user/client/ui/RichTextAreaTest.java b/user/test/com/google/gwt/user/client/ui/RichTextAreaTest.java
index 36217d2..e58f589 100644
--- a/user/test/com/google/gwt/user/client/ui/RichTextAreaTest.java
+++ b/user/test/com/google/gwt/user/client/ui/RichTextAreaTest.java
@@ -58,6 +58,7 @@
     final RichTextArea area = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     area.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         RootPanel.get().remove(area);
         RootPanel.get().add(area);
@@ -76,6 +77,7 @@
     final RichTextArea rta = new RichTextArea();
     final List<String> actual = new ArrayList<String>();
     rta.addFocusHandler(new FocusHandler() {
+      @Override
       public void onFocus(FocusEvent event) {
         actual.add("test");
       }
@@ -101,6 +103,7 @@
     final RichTextArea rta = new RichTextArea();
     final List<String> actual = new ArrayList<String>();
     rta.addFocusHandler(new FocusHandler() {
+      @Override
       public void onFocus(FocusEvent event) {
         actual.add("test");
       }
@@ -150,6 +153,7 @@
 
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     area.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         BasicFormatter formatter = area.getBasicFormatter();
         if (formatter != null) {
@@ -186,6 +190,7 @@
     final RichTextArea area = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     area.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         area.setVisible(false);
         BasicFormatter formatter = area.getBasicFormatter();
@@ -208,6 +213,7 @@
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     final RichTextArea richTextArea = new RichTextArea();
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         finishTest();
       }
@@ -223,6 +229,7 @@
     final RichTextArea richTextArea = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         richTextArea.setEnabled(false);
         assertEquals(false, richTextArea.isEnabled());
@@ -245,6 +252,7 @@
     assertEquals(false, richTextArea.isEnabled());
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         assertEquals(false, richTextArea.isEnabled());
         finishTest();
@@ -264,6 +272,7 @@
 
     final List<String> actual = new ArrayList<String>();
     rta.addClickHandler(new ClickHandler() {
+      @Override
       public void onClick(ClickEvent event) {
         assertNotNull(Event.getCurrentEvent());
         actual.add("test");
@@ -295,6 +304,7 @@
     final RichTextArea richTextArea = new RichTextArea();    
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         richTextArea.setHTML("<b>foo</b>");
         assertEquals("<b>foo</b>", richTextArea.getHTML().toLowerCase());
@@ -313,6 +323,7 @@
     final RichTextArea richTextArea = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         new Timer() {
           @Override
@@ -337,6 +348,7 @@
     final RichTextArea richTextArea = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         richTextArea.setHTML(SafeHtmlUtils.fromSafeConstant(html));
         assertEquals(html, richTextArea.getHTML().toLowerCase());
@@ -356,6 +368,7 @@
     final RichTextArea richTextArea = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         new Timer() {
           @Override
@@ -380,6 +393,7 @@
     final RichTextArea richTextArea = new RichTextArea();
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         richTextArea.setText("foo");
         assertEquals("foo", richTextArea.getText());
@@ -399,6 +413,7 @@
     richTextArea.setText("foo");
     delayTestFinish(RICH_TEXT_ASYNC_DELAY);
     richTextArea.addInitializeHandler(new InitializeHandler() {
+      @Override
       public void onInitialize(InitializeEvent event) {
         assertEquals("foo", richTextArea.getText());
         finishTest();
diff --git a/user/test/com/google/gwt/user/client/ui/ScrollPanelTest.java b/user/test/com/google/gwt/user/client/ui/ScrollPanelTest.java
index e1e4fcd..a39bca2 100644
--- a/user/test/com/google/gwt/user/client/ui/ScrollPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ScrollPanelTest.java
@@ -38,6 +38,7 @@
 
     delayTestFinish(3000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         int maxHorizontalPos = scrollPanel.getMaximumHorizontalScrollPosition();
         int maxVerticalPos = scrollPanel.getMaximumVerticalScrollPosition();
@@ -63,6 +64,7 @@
     
     delayTestFinish(3000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         scrollPanel.scrollToBottom();
         assertEquals(scrollPanel.getMaximumVerticalScrollPosition(), scrollPanel
diff --git a/user/test/com/google/gwt/user/client/ui/SimpleCheckBoxTest.java b/user/test/com/google/gwt/user/client/ui/SimpleCheckBoxTest.java
index 75bed2f..594c10a 100644
--- a/user/test/com/google/gwt/user/client/ui/SimpleCheckBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/SimpleCheckBoxTest.java
@@ -28,6 +28,7 @@
   private static class Handler implements ValueChangeHandler<Boolean> {
     Boolean received = null;
 
+    @Override
     public void onValueChange(ValueChangeEvent<Boolean> event) {
       received = event.getValue();
     }
diff --git a/user/test/com/google/gwt/user/client/ui/SplitLayoutPanelTest.java b/user/test/com/google/gwt/user/client/ui/SplitLayoutPanelTest.java
index 73453b3..98a58bd 100644
--- a/user/test/com/google/gwt/user/client/ui/SplitLayoutPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/SplitLayoutPanelTest.java
@@ -26,6 +26,7 @@
 public class SplitLayoutPanelTest extends DockLayoutPanelTest {
 
   static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((SplitLayoutPanel) container).addNorth(child, 10);
     }
diff --git a/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java b/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java
index 5bc133f..1a14f5a 100644
--- a/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/StackLayoutPanelTest.java
@@ -31,6 +31,7 @@
  */
 public class StackLayoutPanelTest extends WidgetTestBase {
   static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((StackLayoutPanel) container).add(child, new Label("Header"), 1);
     }
@@ -51,11 +52,13 @@
       assertEquals(expected, onSelectionFired);
     }
 
+    @Override
     public void onBeforeSelection(BeforeSelectionEvent<Integer> event) {
       assertFalse(onSelectionFired);
       onBeforeSelectionFired = true;
     }
 
+    @Override
     public void onSelection(SelectionEvent<Integer> event) {
       assertTrue(onBeforeSelectionFired);
       onSelectionFired = true;
diff --git a/user/test/com/google/gwt/user/client/ui/StackPanelTest.java b/user/test/com/google/gwt/user/client/ui/StackPanelTest.java
index a7748d7..e7dda5c 100644
--- a/user/test/com/google/gwt/user/client/ui/StackPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/StackPanelTest.java
@@ -26,6 +26,7 @@
 public class StackPanelTest extends PanelTestBase<StackPanel> {
 
   static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((StackPanel) container).add(child, "foo");
     }
@@ -79,6 +80,7 @@
 
     // Check the header IDs
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         UIObjectTest.assertDebugIdContents("myStack-text0", "header a");
         UIObjectTest.assertDebugIdContents("myStack-text1", "header b");
diff --git a/user/test/com/google/gwt/user/client/ui/SubmitButtonTest.java b/user/test/com/google/gwt/user/client/ui/SubmitButtonTest.java
index 9132c7c..cfabea3 100644
--- a/user/test/com/google/gwt/user/client/ui/SubmitButtonTest.java
+++ b/user/test/com/google/gwt/user/client/ui/SubmitButtonTest.java
@@ -37,6 +37,7 @@
     boolean clicked;
     EventTarget target;
 
+    @Override
     public void onClick(ClickEvent event) {
       target = event.getNativeEvent().getEventTarget();
       clicked = true;
diff --git a/user/test/com/google/gwt/user/client/ui/SuggestionDisplayTestBase.java b/user/test/com/google/gwt/user/client/ui/SuggestionDisplayTestBase.java
index ad9188b..1dfdc22 100644
--- a/user/test/com/google/gwt/user/client/ui/SuggestionDisplayTestBase.java
+++ b/user/test/com/google/gwt/user/client/ui/SuggestionDisplayTestBase.java
@@ -31,6 +31,7 @@
    * A no-op callback used for testing.
    */
   protected static final SuggestionCallback NULL_CALLBACK = new SuggestionCallback() {
+    @Override
     public void onSuggestionSelected(Suggestion suggestion) {
     }
   };
@@ -47,10 +48,12 @@
       this.text = text;
     }
 
+    @Override
     public String getDisplayString() {
       return text;
     }
 
+    @Override
     public String getReplacementString() {
       return text;
     }
diff --git a/user/test/com/google/gwt/user/client/ui/TabBarTest.java b/user/test/com/google/gwt/user/client/ui/TabBarTest.java
index eaafc0d..4f3ad6c 100644
--- a/user/test/com/google/gwt/user/client/ui/TabBarTest.java
+++ b/user/test/com/google/gwt/user/client/ui/TabBarTest.java
@@ -42,11 +42,13 @@
       assertEquals(expected, onSelectionFired);
     }
 
+    @Override
     public void onBeforeSelection(BeforeSelectionEvent<Integer> event) {
       assertFalse(onSelectionFired);
       onBeforeSelectionFired = true;
     }
 
+    @Override
     public void onSelection(SelectionEvent<Integer> event) {
       assertTrue(onBeforeSelectionFired);
       onSelectionFired = true;
@@ -126,6 +128,7 @@
     bar.selectTab(-1);
     assertEquals(-1, bar.getSelectedTab());
     TabListener listener = new TabListener() {
+      @Override
       public boolean onBeforeTabSelected(SourcesTabEvents sender, int tabIndex) {
         beforeSelection = tabIndex;
         if (tabIndex == 1) {
@@ -135,6 +138,7 @@
         }
       }
 
+      @Override
       public void onTabSelected(SourcesTabEvents sender, int tabIndex) {
         selected = tabIndex;
       }
diff --git a/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java b/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java
index 487b598..109a239 100644
--- a/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/TabLayoutPanelTest.java
@@ -36,6 +36,7 @@
 public class TabLayoutPanelTest extends GWTTestCase {
 
   static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((TabLayoutPanel) container).add(child, "foo");
     }
@@ -54,11 +55,13 @@
       assertEquals(expected, onSelectionFired);
     }
 
+    @Override
     public void onBeforeSelection(BeforeSelectionEvent<Integer> event) {
       assertFalse(onSelectionFired);
       onBeforeSelectionFired = true;
     }
 
+    @Override
     public void onSelection(SelectionEvent<Integer> event) {
       assertTrue(onBeforeSelectionFired);
       onSelectionFired = true;
@@ -91,12 +94,14 @@
 
     delayTestFinish(2000);
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         assertEquals(128, foo.getOffsetWidth());
         assertEquals(128 - 32, foo.getOffsetHeight());
 
         p.selectTab(1);
         DeferredCommand.addCommand(new Command() {
+          @Override
           public void execute() {
             assertEquals(128, bar.getOffsetWidth());
             assertEquals(128 - 32, bar.getOffsetHeight());
@@ -132,9 +137,11 @@
 
     delayTestFinish(2000);
     DeferredCommand.addCommand(new Command() {
+      @Override
       public void execute() {
         p.selectTab(1);
         DeferredCommand.addCommand(new Command() {
+          @Override
           public void execute() {
             // Assert that the 'bar' label is of non-zero size on both axes.
             // The problem fixed in issue 4694 was causing its height to be
@@ -280,6 +287,7 @@
     class Handler implements SelectionHandler<Integer> {
       boolean fired = false;
 
+      @Override
       public void onSelection(SelectionEvent<Integer> event) {
         fired = true;
       }
diff --git a/user/test/com/google/gwt/user/client/ui/TabPanelTest.java b/user/test/com/google/gwt/user/client/ui/TabPanelTest.java
index ba9be0e..7b6579d 100644
--- a/user/test/com/google/gwt/user/client/ui/TabPanelTest.java
+++ b/user/test/com/google/gwt/user/client/ui/TabPanelTest.java
@@ -32,6 +32,7 @@
 public class TabPanelTest extends GWTTestCase {
 
   static class Adder implements HasWidgetsTester.WidgetAdder {
+    @Override
     public void addChild(HasWidgets container, Widget child) {
       ((TabPanel) container).add(child, "foo");
     }
@@ -50,11 +51,13 @@
       assertEquals(expected, onSelectionFired);
     }
 
+    @Override
     public void onBeforeSelection(BeforeSelectionEvent<Integer> event) {
       assertFalse(onSelectionFired);
       onBeforeSelectionFired = true;
     }
 
+    @Override
     public void onSelection(SelectionEvent<Integer> event) {
       assertTrue(onBeforeSelectionFired);
       onSelectionFired = true;
diff --git a/user/test/com/google/gwt/user/client/ui/TextBoxBaseTestBase.java b/user/test/com/google/gwt/user/client/ui/TextBoxBaseTestBase.java
index 8348ecc..7bc5231 100644
--- a/user/test/com/google/gwt/user/client/ui/TextBoxBaseTestBase.java
+++ b/user/test/com/google/gwt/user/client/ui/TextBoxBaseTestBase.java
@@ -31,6 +31,7 @@
   private static class Handler implements ValueChangeHandler<String> {
     String received = null;
 
+    @Override
     public void onValueChange(ValueChangeEvent<String> event) {
       received = event.getValue();
     }
diff --git a/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java b/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
index 714de32..6121fb3 100644
--- a/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
+++ b/user/test/com/google/gwt/user/client/ui/ValueListBoxTest.java
@@ -42,6 +42,7 @@
   }
 
   static class FooRenderer extends AbstractRenderer<Foo> {
+    @Override
     public String render(Foo object) {
       if (object == null) {
         return "";
@@ -51,6 +52,7 @@
   }
 
   static class KeyProvider implements ProvidesKey<Foo> {
+    @Override
     public String getKey(Foo item) {
       return item.value;
     }
diff --git a/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java b/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java
index a1fd911..915043c 100644
--- a/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java
+++ b/user/test/com/google/gwt/user/client/ui/WidgetCollectionTest.java
@@ -25,6 +25,7 @@
  */
 public class WidgetCollectionTest extends GWTTestCase {
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
@@ -33,16 +34,20 @@
 
     public WidgetCollection collection = new WidgetCollection(this);
 
+    @Override
     public void add(Widget w) {
     }
 
+    @Override
     public void clear() {
     }
 
+    @Override
     public Iterator<Widget> iterator() {
       return null;
     }
 
+    @Override
     public boolean remove(Widget w) {
       if (!collection.contains(w)) {
         return false;
diff --git a/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java b/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java
index fe7ffc7..6003316 100644
--- a/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java
+++ b/user/test/com/google/gwt/user/client/ui/WidgetIteratorsTest.java
@@ -29,25 +29,30 @@
    * Provides a class from which to construct mock containers in this test.
    */
   private static class MockWidget implements HasWidgets {
+    @Override
     public void add(Widget w) {
       fail("Unexpected call to add(Widget)");
     }
 
+    @Override
     public void clear() {
       fail("Unexpected call to clear()");
     }
 
+    @Override
     public Iterator<Widget> iterator() {
       fail("Unexpected call to iterator()");
       return null;
     }
 
+    @Override
     public boolean remove(Widget w) {
       fail("Unexpected call to remove(Widget)");
       return false;
     }
   }
 
+  @Override
   public String getModuleName() {
     return "com.google.gwt.user.User";
   }
@@ -74,6 +79,7 @@
         null, createTestWidget(), null, createTestWidget(), null, null};
 
     final MockWidget mock = new MockWidget() {
+      @Override
       public boolean remove(Widget w) {
         assertEquals(widgets[expectedRemoveIndex[0]], w);
         return true;
diff --git a/user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java b/user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
index c6c2ae7..4372d74 100644
--- a/user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
+++ b/user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
@@ -110,6 +110,7 @@
       int handleAttachOrder;
       int handleDetachOrder;
 
+      @Override
       public void onAttachOrDetach(AttachEvent event) {
         if (event.isAttached()) {
           handleAttachOrder = ++orderIndex;
diff --git a/user/test/com/google/gwt/user/client/ui/WidgetTest.java b/user/test/com/google/gwt/user/client/ui/WidgetTest.java
index 3c6f2ed..5bdcc1d 100644
--- a/user/test/com/google/gwt/user/client/ui/WidgetTest.java
+++ b/user/test/com/google/gwt/user/client/ui/WidgetTest.java
@@ -31,12 +31,14 @@
 
   ClickHandler handlerA = new ClickHandler() {
 
+    @Override
     public void onClick(ClickEvent event) {
     }
   };
 
   ClickHandler handlerB = new ClickHandler() {
 
+    @Override
     public void onClick(ClickEvent event) {
     }
   };
diff --git a/user/test/com/google/gwt/user/datepicker/client/DateChangeEventTest.java b/user/test/com/google/gwt/user/datepicker/client/DateChangeEventTest.java
index d2917b3..a5dfb7e 100644
--- a/user/test/com/google/gwt/user/datepicker/client/DateChangeEventTest.java
+++ b/user/test/com/google/gwt/user/datepicker/client/DateChangeEventTest.java
@@ -37,11 +37,13 @@
     private final HandlerManager handlers = new HandlerManager(this);
     private Date value;
 
+    @Override
     public HandlerRegistration addValueChangeHandler(
         ValueChangeHandler<Date> handler) {
       return handlers.addHandler(ValueChangeEvent.getType(), handler);
     }
 
+    @Override
     public void fireEvent(GwtEvent<?> event) {
       handlers.fireEvent(event);
     }
@@ -50,14 +52,17 @@
       return handlers;
     }
 
+    @Override
     public Date getValue() {
       return value;
     }
 
+    @Override
     public void setValue(Date value) {
       setValue(value, false);
     }
 
+    @Override
     public void setValue(Date value, boolean fireEvents) {
       Date oldValue = this.value;
       this.value = value;
diff --git a/user/test/com/google/gwt/user/rebind/ui/ImageBundleGeneratorTest.java b/user/test/com/google/gwt/user/rebind/ui/ImageBundleGeneratorTest.java
index 9766f58..9d52d6c 100644
--- a/user/test/com/google/gwt/user/rebind/ui/ImageBundleGeneratorTest.java
+++ b/user/test/com/google/gwt/user/rebind/ui/ImageBundleGeneratorTest.java
@@ -52,30 +52,37 @@
       this.height = height;
     }
 
+    @Override
     public int getHeight() {
       return height;
     }
 
+    @Override
     public int getLeft() {
       return left;
     }
 
+    @Override
     public String getName() {
       return name;
     }
 
+    @Override
     public int getTop() {
       return top;
     }
 
+    @Override
     public int getWidth() {
       return width;
     }
 
+    @Override
     public boolean hasBeenPositioned() {
       return hasBeenPositioned;
     }
 
+    @Override
     public void setPosition(int left, int top) {
       this.left = left;
       this.top = top;
@@ -315,14 +322,17 @@
   private JMethodOracle createJMethodOracle(final String methodName,
       final String packageName, final Resource resourceAnnotation) {
     return new JMethodOracle() {
+      @Override
       public Resource getAnnotation(Class<Resource> clazz) {
         return resourceAnnotation;
       }
 
+      @Override
       public String getName() {
         return methodName;
       }
 
+      @Override
       public String getPackageName() {
         return packageName;
       }
@@ -336,6 +346,7 @@
         new ImageBundleGenerator.ResourceLocator() {
           private final List<String> resList = Arrays.asList(pretendResources);
 
+          @Override
           public boolean isResourcePresent(String resName) {
             return resList.contains(resName);
           }
diff --git a/user/test/com/google/gwt/user/server/BadServlets.java b/user/test/com/google/gwt/user/server/BadServlets.java
index 5dfd102..9e652c0 100644
--- a/user/test/com/google/gwt/user/server/BadServlets.java
+++ b/user/test/com/google/gwt/user/server/BadServlets.java
@@ -70,20 +70,25 @@
    */
   public static class NotHttpServlet implements Servlet {
 
+    @Override
     public void destroy() {
     }
 
+    @Override
     public ServletConfig getServletConfig() {
       return null;
     }
 
+    @Override
     public String getServletInfo() {
       return null;
     }
 
+    @Override
     public void init(ServletConfig config) throws ServletException {
     }
 
+    @Override
     public void service(ServletRequest req, ServletResponse res)
         throws ServletException, IOException {
     }
diff --git a/user/test/com/google/gwt/user/server/UtilTest.java b/user/test/com/google/gwt/user/server/UtilTest.java
index 38eead3..c80ec92 100644
--- a/user/test/com/google/gwt/user/server/UtilTest.java
+++ b/user/test/com/google/gwt/user/server/UtilTest.java
@@ -61,6 +61,7 @@
       this.cookies = cookies;
     }
 
+    @Override
     public Cookie[] getCookies() {
       return cookies;
     }
diff --git a/user/test/com/google/gwt/user/server/rpc/CollectionsTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/CollectionsTestServiceImpl.java
index cb07bd8..f7e8e93 100644
--- a/user/test/com/google/gwt/user/server/rpc/CollectionsTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/CollectionsTestServiceImpl.java
@@ -69,6 +69,7 @@
     return Arrays.asList(values).toString();
   }
 
+  @Override
   public ArrayList<MarkerTypeArrayList> echo(ArrayList<MarkerTypeArrayList> list)
       throws CollectionsTestServiceException {
     if (!TestSetValidator.isValid(list)) {
@@ -78,6 +79,7 @@
     return list;
   }
 
+  @Override
   public boolean[] echo(boolean[] actual)
       throws CollectionsTestServiceException {
     boolean[] expected = TestSetFactory.createPrimitiveBooleanArray();
@@ -89,6 +91,7 @@
     return actual;
   }
 
+  @Override
   public Boolean[] echo(Boolean[] actual)
       throws CollectionsTestServiceException {
     Boolean[] expected = TestSetFactory.createBooleanArray();
@@ -100,6 +103,7 @@
     return actual;
   }
 
+  @Override
   public byte[] echo(byte[] actual) throws CollectionsTestServiceException {
     byte[] expected = TestSetFactory.createPrimitiveByteArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -110,6 +114,7 @@
     return actual;
   }
 
+  @Override
   public Byte[] echo(Byte[] actual) throws CollectionsTestServiceException {
     Byte[] expected = TestSetFactory.createByteArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -120,6 +125,7 @@
     return actual;
   }
 
+  @Override
   public char[] echo(char[] actual) throws CollectionsTestServiceException {
     char[] expected = TestSetFactory.createPrimitiveCharArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -130,6 +136,7 @@
     return actual;
   }
 
+  @Override
   public Character[] echo(Character[] actual)
       throws CollectionsTestServiceException {
     Character[] expected = TestSetFactory.createCharArray();
@@ -141,6 +148,7 @@
     return actual;
   }
 
+  @Override
   public Date[] echo(Date[] actual) throws CollectionsTestServiceException {
     Date[] expected = TestSetFactory.createDateArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -151,6 +159,7 @@
     return actual;
   }
 
+  @Override
   public double[] echo(double[] actual) throws CollectionsTestServiceException {
     double[] expected = TestSetFactory.createPrimitiveDoubleArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -161,6 +170,7 @@
     return actual;
   }
 
+  @Override
   public Double[] echo(Double[] actual) throws CollectionsTestServiceException {
     Double[] expected = TestSetFactory.createDoubleArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -171,6 +181,7 @@
     return actual;
   }
 
+  @Override
   public Enum<?>[] echo(Enum<?>[] actual)
       throws CollectionsTestServiceException {
     Enum<?>[] expected = TestSetFactory.createEnumArray();
@@ -182,6 +193,7 @@
     return actual;
   }
 
+  @Override
   public float[] echo(float[] actual) throws CollectionsTestServiceException {
     float[] expected = TestSetFactory.createPrimitiveFloatArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -192,6 +204,7 @@
     return actual;
   }
 
+  @Override
   public EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> echo(
       EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> actual)
       throws CollectionsTestServiceException {
@@ -204,6 +217,7 @@
     return actual;
   }
 
+  @Override
   public Float[] echo(Float[] actual) throws CollectionsTestServiceException {
     Float[] expected = TestSetFactory.createFloatArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -214,6 +228,7 @@
     return actual;
   }
 
+  @Override
   public HashMap<MarkerTypeHashMapKey, MarkerTypeHashMapValue> echo(
       HashMap<MarkerTypeHashMapKey, MarkerTypeHashMapValue> actual)
       throws CollectionsTestServiceException {
@@ -226,6 +241,7 @@
     return actual;
   }
 
+  @Override
   public HashSet<MarkerTypeHashSet> echo(HashSet<MarkerTypeHashSet> actual)
       throws CollectionsTestServiceException {
     HashSet<MarkerTypeHashSet> expected = TestSetFactory.createHashSet();
@@ -237,6 +253,7 @@
     return actual;
   }
 
+  @Override
   public IdentityHashMap<MarkerTypeIdentityHashMapKey, MarkerTypeIdentityHashMapValue> echo(
       IdentityHashMap<MarkerTypeIdentityHashMapKey, MarkerTypeIdentityHashMapValue> actual)
       throws CollectionsTestServiceException {
@@ -249,6 +266,7 @@
     return actual;
   }
 
+  @Override
   public int[] echo(int[] actual) throws CollectionsTestServiceException {
     int[] expected = TestSetFactory.createPrimitiveIntegerArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -264,6 +282,7 @@
     return actual;
   }
 
+  @Override
   public Integer[] echo(Integer[] actual)
       throws CollectionsTestServiceException {
     Integer[] expected = TestSetFactory.createIntegerArray();
@@ -275,6 +294,7 @@
     return actual;
   }
 
+  @Override
   public java.sql.Date[] echo(java.sql.Date[] actual)
       throws CollectionsTestServiceException {
     java.sql.Date[] expected = TestSetFactory.createSqlDateArray();
@@ -286,6 +306,7 @@
     return actual;
   }
 
+  @Override
   public LinkedHashMap<MarkerTypeLinkedHashMapKey, MarkerTypeLinkedHashMapValue> echo(
       LinkedHashMap<MarkerTypeLinkedHashMapKey, MarkerTypeLinkedHashMapValue> actual)
       throws CollectionsTestServiceException {
@@ -297,6 +318,7 @@
     return actual;
   }
 
+  @Override
   public LinkedHashSet<MarkerTypeLinkedHashSet> echo(
       LinkedHashSet<MarkerTypeLinkedHashSet> actual)
       throws CollectionsTestServiceException {
@@ -308,6 +330,7 @@
     return actual;
   }
 
+  @Override
   public LinkedList<MarkerTypeLinkedList> echo(LinkedList<MarkerTypeLinkedList> actual)
       throws CollectionsTestServiceException {
     LinkedList<MarkerTypeLinkedList> expected = TestSetFactory.createLinkedList();
@@ -319,6 +342,7 @@
     return actual;
   }
 
+  @Override
   public List<MarkerTypeEmptyList> echo(List<MarkerTypeEmptyList> list)
       throws CollectionsTestServiceException {
     if (!TestSetValidator.isValid(list)) {
@@ -328,6 +352,7 @@
     return list;
   }
 
+  @Override
   public long[] echo(long[] actual) throws CollectionsTestServiceException {
     long[] expected = TestSetFactory.createPrimitiveLongArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -338,6 +363,7 @@
     return actual;
   }
 
+  @Override
   public Long[] echo(Long[] actual) throws CollectionsTestServiceException {
     Long[] expected = TestSetFactory.createLongArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -348,6 +374,7 @@
     return actual;
   }
 
+  @Override
   public Map<MarkerTypeEmptyKey, MarkerTypeEmptyValue> echo(
       Map<MarkerTypeEmptyKey, MarkerTypeEmptyValue> map)
       throws CollectionsTestServiceException {
@@ -358,6 +385,7 @@
     return map;
   }
 
+  @Override
   public Set<MarkerTypeEmptySet> echo(Set<MarkerTypeEmptySet> set)
       throws CollectionsTestServiceException {
     if (!TestSetValidator.isValid(set)) {
@@ -367,6 +395,7 @@
     return set;
   }
 
+  @Override
   public short[] echo(short[] actual) throws CollectionsTestServiceException {
     short[] expected = TestSetFactory.createPrimitiveShortArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -377,6 +406,7 @@
     return actual;
   }
 
+  @Override
   public Short[] echo(Short[] actual) throws CollectionsTestServiceException {
     Short[] expected = TestSetFactory.createShortArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -387,6 +417,7 @@
     return actual;
   }
 
+  @Override
   public String[] echo(String[] actual) throws CollectionsTestServiceException {
     String[] expected = TestSetFactory.createStringArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -397,11 +428,13 @@
     return actual;
   }
 
+  @Override
   public String[][] echo(String[][] value)
       throws CollectionsTestServiceException {
     return value;
   }
 
+  @Override
   public Time[] echo(Time[] actual) throws CollectionsTestServiceException {
     Time[] expected = TestSetFactory.createSqlTimeArray();
     if (!TestSetValidator.equals(expected, actual)) {
@@ -412,6 +445,7 @@
     return actual;
   }
 
+  @Override
   public Timestamp[] echo(Timestamp[] actual)
       throws CollectionsTestServiceException {
     Timestamp[] expected = TestSetFactory.createSqlTimestampArray();
@@ -423,6 +457,7 @@
     return actual;
   }
 
+  @Override
   public TreeMap<String, MarkerTypeTreeMap> echo(
       TreeMap<String, MarkerTypeTreeMap> actual, boolean option)
       throws CollectionsTestServiceException {
@@ -435,6 +470,7 @@
     return actual;
   }
 
+  @Override
   public TreeSet<MarkerTypeTreeSet> echo(TreeSet<MarkerTypeTreeSet> actual,
       boolean option) throws CollectionsTestServiceException {
     TreeSet<MarkerTypeTreeSet> expected = TestSetFactory.createTreeSet(option);
@@ -446,6 +482,7 @@
     return actual;
   }
 
+  @Override
   public Vector<MarkerTypeVector> echo(Vector<MarkerTypeVector> actual)
       throws CollectionsTestServiceException {
     Vector<MarkerTypeVector> expected = TestSetFactory.createVector();
@@ -457,6 +494,7 @@
     return actual;
   }
 
+  @Override
   public ArrayList<Void> echoArrayListVoid(ArrayList<Void> value)
       throws CollectionsTestServiceException {
     ArrayList<Void> expected = TestSetFactory.createArrayListVoid();
@@ -468,6 +506,7 @@
     return value;
   }
 
+  @Override
   public List<MarkerTypeArraysAsList> echoArraysAsList(
       List<MarkerTypeArraysAsList> value)
       throws CollectionsTestServiceException {
@@ -478,6 +517,7 @@
     return value;
   }
 
+  @Override
   public EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> echoEmptyEnumMap(
       EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> actual)
       throws CollectionsTestServiceException {
@@ -490,6 +530,7 @@
     return actual;
   }
   
+  @Override
   public IdentityHashMap<MarkerTypeEnum, MarkerTypeIdentityHashMapValue> echoEnumKey(
       IdentityHashMap<MarkerTypeEnum, MarkerTypeIdentityHashMapValue> actual)
       throws CollectionsTestServiceException {
@@ -502,6 +543,7 @@
     return actual;
   }
 
+  @Override
   public EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> echoEnumKey(
       EnumMap<MarkerTypeEnum, MarkerTypeEnumMapValue> actual)
       throws CollectionsTestServiceException {
@@ -515,6 +557,7 @@
     return actual;
   }
 
+  @Override
   public List<MarkerTypeSingleton> echoSingletonList(
       List<MarkerTypeSingleton> value) throws CollectionsTestServiceException {
     if (!TestSetValidator.isValidSingletonList(value)) {
diff --git a/user/test/com/google/gwt/user/server/rpc/CoreJavaTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/CoreJavaTestServiceImpl.java
index e318d22..aab75d8 100644
--- a/user/test/com/google/gwt/user/server/rpc/CoreJavaTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/CoreJavaTestServiceImpl.java
@@ -26,6 +26,7 @@
  */
 public class CoreJavaTestServiceImpl extends HybridServiceServlet implements CoreJavaTestService {
 
+  @Override
   public MathContext echoMathContext(MathContext value) throws CoreJavaTestServiceException {
     if (!CoreJavaTest.isValid(value)) {
       throw new CoreJavaTestServiceException();
diff --git a/user/test/com/google/gwt/user/server/rpc/CustomFieldSerializerTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/CustomFieldSerializerTestServiceImpl.java
index 398acf1..c32464b 100644
--- a/user/test/com/google/gwt/user/server/rpc/CustomFieldSerializerTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/CustomFieldSerializerTestServiceImpl.java
@@ -38,6 +38,7 @@
    */
   private ServletContext wrappedServletContext;
 
+  @Override
   public ManuallySerializedClass echo(
       ManuallySerializedClass unserializableClass) {
     if (!CustomFieldSerializerTestSetValidator.isValid(unserializableClass)) {
@@ -47,6 +48,7 @@
     return unserializableClass;
   }
 
+  @Override
   public ManuallySerializedImmutableClass[] echo(
       ManuallySerializedImmutableClass[] manuallySerializableImmutables) {
     if (!CustomFieldSerializerTestSetValidator.isValid(manuallySerializableImmutables)) {
@@ -56,6 +58,7 @@
     return manuallySerializableImmutables;
   }
 
+  @Override
   public SerializableSubclass echo(SerializableSubclass serializableClass) {
     if (!CustomFieldSerializerTestSetValidator.isValid(serializableClass)) {
       throw new RuntimeException();
diff --git a/user/test/com/google/gwt/user/server/rpc/EnumsTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/EnumsTestServiceImpl.java
index 711d9fc..78053f3 100644
--- a/user/test/com/google/gwt/user/server/rpc/EnumsTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/EnumsTestServiceImpl.java
@@ -23,10 +23,12 @@
 public class EnumsTestServiceImpl extends HybridServiceServlet implements
     EnumsTestService {
 
+  @Override
   public Basic echo(Basic value) {
     return value;
   }
 
+  @Override
   public Complex echo(Complex value) throws EnumStateModificationException {
     if ("client".equals(value.value)) {
       throw new EnumStateModificationException(
@@ -36,10 +38,12 @@
     return value;
   }
 
+  @Override
   public Subclassing echo(Subclassing value) {
     return value;
   }
   
+  @Override
   public FieldEnumWrapper echo(FieldEnumWrapper value) {
     return value;
   }
diff --git a/user/test/com/google/gwt/user/server/rpc/InheritanceTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/InheritanceTestServiceImpl.java
index a003dc1..dc7b2c5 100644
--- a/user/test/com/google/gwt/user/server/rpc/InheritanceTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/InheritanceTestServiceImpl.java
@@ -43,18 +43,22 @@
    */
   private ServletContext wrappedServletContext;
 
+  @Override
   public AnonymousClassInterface echo(AnonymousClassInterface serializable) {
     return serializable;
   }
 
+  @Override
   public Circle echo(Circle circle) {
     return circle;
   }
 
+  @Override
   public JavaSerializableClass echo(JavaSerializableClass javaSerializableClass) {
     return javaSerializableClass;
   }
 
+  @Override
   public SerializableClass echo(SerializableClass serializableClass) {
     if (!InheritanceTestSetValidator.isValid(serializableClass)) {
       throw new RuntimeException();
@@ -63,6 +67,7 @@
     return serializableClass;
   }
 
+  @Override
   public SerializableClassWithTransientField echo(
       SerializableClassWithTransientField serializableClass) {
     if (!InheritanceTestSetValidator.isValid(serializableClass)) {
@@ -76,19 +81,23 @@
     return serializableClass;
   }
 
+  @Override
   public void foo() {
   }
 
+  @Override
   public AbstractClass getAbstractClass() {
     // never actually called, used in testing the RPC generator
     return null;
   }
 
+  @Override
   public MySerializableInterface getSerializableInterface1() {
     // never actually called, used in testing the RPC generator
     return null;
   }
 
+  @Override
   public MySerializableInterface getSerializableInterface2() {
     // never actually called, used in testing the RPC generator
     return null;
@@ -117,6 +126,7 @@
     return wrappedServletContext;
   }
 
+  @Override
   public SerializableClass getUnserializableClass() {
     return InheritanceTestSetFactory.createNonStaticInnerClass();
   }
diff --git a/user/test/com/google/gwt/user/server/rpc/LogFilterServletContext.java b/user/test/com/google/gwt/user/server/rpc/LogFilterServletContext.java
index 6caa54b..877b342 100644
--- a/user/test/com/google/gwt/user/server/rpc/LogFilterServletContext.java
+++ b/user/test/com/google/gwt/user/server/rpc/LogFilterServletContext.java
@@ -43,108 +43,133 @@
     this.realContext = realContext;
   }
 
+  @Override
   public Object getAttribute(String name) {
     return realContext.getAttribute(name);
   }
 
+  @Override
   public Enumeration getAttributeNames() {
     return realContext.getAttributeNames();
   }
 
+  @Override
   public ServletContext getContext(String uripath) {
     return realContext.getContext(uripath);
   }
 
+  @Override
   public String getContextPath() {
     return realContext.getContextPath();
   }
 
+  @Override
   public String getInitParameter(String name) {
     return realContext.getInitParameter(name);
   }
 
+  @Override
   public Enumeration getInitParameterNames() {
     return realContext.getInitParameterNames();
   }
 
+  @Override
   public int getMajorVersion() {
     return realContext.getMajorVersion();
   }
 
+  @Override
   public String getMimeType(String file) {
     return realContext.getMimeType(file);
   }
 
+  @Override
   public int getMinorVersion() {
     return realContext.getMinorVersion();
   }
 
+  @Override
   public RequestDispatcher getNamedDispatcher(String name) {
     return realContext.getNamedDispatcher(name);
   }
 
+  @Override
   public String getRealPath(String path) {
     return realContext.getRealPath(path);
   }
 
+  @Override
   public RequestDispatcher getRequestDispatcher(String path) {
     return realContext.getRequestDispatcher(path);
   }
 
+  @Override
   public URL getResource(String path) throws MalformedURLException {
     return realContext.getResource(path);
   }
 
+  @Override
   public InputStream getResourceAsStream(String path) {
     return realContext.getResourceAsStream(path);
   }
 
+  @Override
   public Set getResourcePaths(String path) {
     return realContext.getResourcePaths(path);
   }
 
+  @Override
   public String getServerInfo() {
     return realContext.getServerInfo();
   }
 
+  @Override
   public Servlet getServlet(String name) throws ServletException {
     return realContext.getServlet(name);
   }
 
+  @Override
   public String getServletContextName() {
     return realContext.getServletContextName();
   }
 
+  @Override
   public Enumeration getServletNames() {
     return realContext.getServletNames();
   }
 
+  @Override
   public Enumeration getServlets() {
     return realContext.getServlets();
   }
 
+  @Override
   public void log(Exception exception, String msg) {
     if (shouldLog(exception, msg)) {
       realContext.log(exception, msg);
     }
   }
 
+  @Override
   public void log(String msg) {
     if (shouldLog(null, msg)) {
       realContext.log(msg);
     }
   }
 
+  @Override
   public void log(String msg, Throwable throwable) {
     if (shouldLog(throwable, msg)) {
       realContext.log(msg, throwable);
     }
   }
 
+  @Override
   public void removeAttribute(String name) {
     realContext.removeAttribute(name);
   }
 
+  @Override
   public void setAttribute(String name, Object object) {
     realContext.setAttribute(name, object);
   }
diff --git a/user/test/com/google/gwt/user/server/rpc/LoggingRPCTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/LoggingRPCTestServiceImpl.java
index 6facda3..f9703ed 100644
--- a/user/test/com/google/gwt/user/server/rpc/LoggingRPCTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/LoggingRPCTestServiceImpl.java
@@ -67,6 +67,7 @@
     }
   }
 
+  @Override
   public LogRecord echoLogRecord(LogRecord value) throws LoggingRPCTestServiceException {
     /*
      * Don't check the stack trace on the server side, because the expected
diff --git a/user/test/com/google/gwt/user/server/rpc/MixedSerializableEchoServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/MixedSerializableEchoServiceImpl.java
index 000bce9..8bf277b 100644
--- a/user/test/com/google/gwt/user/server/rpc/MixedSerializableEchoServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/MixedSerializableEchoServiceImpl.java
@@ -24,14 +24,17 @@
  */
 public class MixedSerializableEchoServiceImpl extends HybridServiceServlet
     implements MixedSerializableEchoService {
+  @Override
   public MixedSerializable echoVoid(MixedSerializable mixed) {
     return mixed;
   }
 
+  @Override
   public MixedSerializable echoRequest(MixedSerializable mixed) {
     return mixed;
   }
 
+  @Override
   public MixedSerializable echoRequestBuilder(MixedSerializable mixed) {
     return mixed;
   }
diff --git a/user/test/com/google/gwt/user/server/rpc/ObjectGraphTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/ObjectGraphTestServiceImpl.java
index 4d1262a..ffaf265 100644
--- a/user/test/com/google/gwt/user/server/rpc/ObjectGraphTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/ObjectGraphTestServiceImpl.java
@@ -28,6 +28,7 @@
 public class ObjectGraphTestServiceImpl extends HybridServiceServlet implements
     ObjectGraphTestService {
 
+  @Override
   public SerializableDoublyLinkedNode echo_AcyclicGraph(
       SerializableDoublyLinkedNode root) {
     if (!TestSetValidator.isValidAcyclicGraph(root)) {
@@ -37,6 +38,7 @@
     return root;
   }
 
+  @Override
   public SerializableDoublyLinkedNode echo_ComplexCyclicGraph(
       SerializableDoublyLinkedNode root) {
     if (!TestSetValidator.isValidComplexCyclicGraph(root)) {
@@ -46,6 +48,7 @@
     return root;
   }
 
+  @Override
   public SerializableGraphWithCFS echo_ComplexCyclicGraphWithCFS(
       SerializableGraphWithCFS root) {
     if (!TestSetValidator.isValidComplexCyclicGraphWithCFS(root)) {
@@ -55,6 +58,7 @@
     return root;
   }
 
+  @Override
   public SerializableDoublyLinkedNode echo_TrivialCyclicGraph(
       SerializableDoublyLinkedNode root) {
     if (!TestSetValidator.isValidTrivialCyclicGraph(root)) {
@@ -64,6 +68,7 @@
     return root;
   }
 
+  @Override
   public SerializablePrivateNoArg echo_PrivateNoArg(
       SerializablePrivateNoArg node) {
     if (!TestSetValidator.isValid(node)) {
@@ -73,6 +78,7 @@
     return node;
   }
 
+  @Override
   public SerializableWithTwoArrays echo_SerializableWithTwoArrays(
       SerializableWithTwoArrays node) {
     if (!TestSetValidator.isValid(node)) {
@@ -82,6 +88,7 @@
     return node;
   }
 
+  @Override
   public SerializableDoublyLinkedNode echo_ComplexCyclicGraph(
       SerializableDoublyLinkedNode node1, SerializableDoublyLinkedNode node2) {
     if (node1 != node2) {
diff --git a/user/test/com/google/gwt/user/server/rpc/RPCTest.java b/user/test/com/google/gwt/user/server/rpc/RPCTest.java
index 6bc88c2..4c489f3 100644
--- a/user/test/com/google/gwt/user/server/rpc/RPCTest.java
+++ b/user/test/com/google/gwt/user/server/rpc/RPCTest.java
@@ -527,6 +527,7 @@
       }
     }
     class TestPolicyProvider implements SerializationPolicyProvider {      
+      @Override
       public SerializationPolicy getSerializationPolicy(
           String moduleBaseURL, String serializationPolicyStrongName) {
         return new TestPolicy();
@@ -567,12 +568,14 @@
     class TestPolicy extends SerializationPolicy implements TypeNameObfuscator {
       private static final String C_NAME = "__c__";
 
+      @Override
       public String getClassNameForTypeId(String id)
           throws SerializationException {
         assertEquals(C_NAME, id);
         return C.class.getName();
       }
 
+      @Override
       public String getTypeIdForClass(Class<?> clazz)
           throws SerializationException {
         assertEquals(C.class, clazz);
@@ -773,6 +776,7 @@
     // Case 2
     try {
       RPC.invokeAndEncodeResponse(new B() {
+        @Override
         public void method1() {
         }
       }, A_method1, null);
@@ -784,13 +788,16 @@
     // Case 3
     try {
       RPC.invokeAndEncodeResponse(new A() {
+        @Override
         public void method1() throws SerializableException {
         }
 
+        @Override
         public int method2() {
           return 0;
         }
 
+        @Override
         public int method3(int val) {
           return 0;
         }
@@ -803,14 +810,17 @@
     // Case 4
     try {
       RPC.invokeAndEncodeResponse(new A() {
+        @Override
         public void method1() throws SerializableException {
           throw new IllegalArgumentException();
         }
 
+        @Override
         public int method2() {
           return 0;
         }
 
+        @Override
         public int method3(int val) {
           return 0;
         }
@@ -822,14 +832,17 @@
 
     // Case 5
     RPC.invokeAndEncodeResponse(new A() {
+      @Override
       public void method1() throws SerializableException {
         throw new SerializableException();
       }
 
+      @Override
       public int method2() {
         return 0;
       }
 
+      @Override
       public int method3(int val) {
         return 0;
       }
diff --git a/user/test/com/google/gwt/user/server/rpc/RecursiveClassTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/RecursiveClassTestServiceImpl.java
index 4b8ddeb0..767f597 100644
--- a/user/test/com/google/gwt/user/server/rpc/RecursiveClassTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/RecursiveClassTestServiceImpl.java
@@ -27,6 +27,7 @@
   /* (non-Javadoc)
    * @see com.google.gwt.user.client.rpc.RecursiveClassTestService#greetServer(java.lang.String)
    */
+  @Override
   public <T extends ResultNode<T>> ResultNode<T> greetServer(String name)
       throws IllegalArgumentException {
      return new ResultNode<T>();
diff --git a/user/test/com/google/gwt/user/server/rpc/RemoteServiceServletTestServiceImplBase.java b/user/test/com/google/gwt/user/server/rpc/RemoteServiceServletTestServiceImplBase.java
index 15616d7..c96a6d4 100644
--- a/user/test/com/google/gwt/user/server/rpc/RemoteServiceServletTestServiceImplBase.java
+++ b/user/test/com/google/gwt/user/server/rpc/RemoteServiceServletTestServiceImplBase.java
@@ -35,9 +35,11 @@
     }
   }
 
+  @Override
   public void test() {
   }
 
+  @Override
   public void testExpectCustomHeader() {
     HttpServletRequest req = getThreadLocalRequest();
     if (!Boolean.parseBoolean(req.getHeader("X-Custom-Header"))) {
@@ -45,6 +47,7 @@
     }
   }
 
+  @Override
   public void testExpectPermutationStrongName(String expectedStrongName) {
     if (getPermutationStrongName() == null) {
       throw new NullPointerException("getPermutationStrongName()");
@@ -56,10 +59,12 @@
     }
   }
 
+  @Override
   public void throwDeclaredRuntimeException() {
     throw new NullPointerException("expected");
   }
 
+  @Override
   public void throwUnknownRuntimeException() {
     throw new FooException();
   }
diff --git a/user/test/com/google/gwt/user/server/rpc/RpcTokenServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/RpcTokenServiceImpl.java
index d755717..0775001 100644
--- a/user/test/com/google/gwt/user/server/rpc/RpcTokenServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/RpcTokenServiceImpl.java
@@ -26,12 +26,15 @@
 public class RpcTokenServiceImpl extends RpcTokenAwareRemoteService 
     implements RpcTokenTestService {
 
+  @Override
   public void test() { }
   
+  @Override
   public String capitalize(String input) {
     return input.toUpperCase();
   }
   
+  @Override
   public RpcToken getRpcTokenFromRequest() {
     HttpServletRequest req = getThreadLocalRequest();
     RpcToken token = (RpcToken) req.getAttribute(RpcTokenAwareRemoteService.TOKEN);
diff --git a/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
index 30ffbe1..bcc5e11 100644
--- a/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/UnicodeEscapingServiceImpl.java
@@ -27,6 +27,7 @@
   /**
    * @see UnicodeEscapingService#echo(String)
    */
+  @Override
   public String echo(String str) {
     return str;
   }
@@ -34,6 +35,7 @@
   /**
    * @see UnicodeEscapingService#getStringContainingCharacterRange(int, int)
    */
+  @Override
   public String getStringContainingCharacterRange(int start, int end) {
     return UnicodeEscapingTest.getStringContainingCharacterRange(start, end);
   }
@@ -42,6 +44,7 @@
    * @see UnicodeEscapingService#verifyStringContainingCharacterRange(int, int,
    *      String)
    */
+  @Override
   public boolean verifyStringContainingCharacterRange(int start, int end,
       String str) throws InvalidCharacterException {
     UnicodeEscapingTest.verifyStringContainingCharacterRange(start, end, str);
diff --git a/user/test/com/google/gwt/user/server/rpc/ValueTypesTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/ValueTypesTestServiceImpl.java
index 00b8e8f..76bdbb3 100644
--- a/user/test/com/google/gwt/user/server/rpc/ValueTypesTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/ValueTypesTestServiceImpl.java
@@ -30,51 +30,63 @@
 public class ValueTypesTestServiceImpl extends HybridServiceServlet implements
     ValueTypesTestService {
 
+  @Override
   public byte echo(byte value) {
     return value;
   }
 
+  @Override
   public char echo(char value) {
     return value;
   }
 
+  @Override
   public double echo(double value) {
     return value;
   }
 
+  @Override
   public float echo(float value) {
     return value;
   }
 
+  @Override
   public int echo(int value) {
     return value;
   }
 
+  @Override
   public long echo(long value) {
     return value;
   }
 
+  @Override
   public short echo(short value) {
     return value;
   }
 
+  @Override
   public BigDecimal echo(BigDecimal value) {
     return value;
   }
 
+  @Override
   public BigInteger echo(BigInteger value) {
     return value;
   }
 
+  @Override
   public SerializableGenericWrapperType<Void> echo(
       SerializableGenericWrapperType<Void> value) {
     return value;
   }
 
+  @Override
   public String echo(String value) {
     return value;
   }
 
+  @Override
   public boolean echo_FALSE(boolean value) {
     if (value != false) {
       throw new RuntimeException();
@@ -83,6 +95,7 @@
     return value;
   }
 
+  @Override
   public byte echo_MAX_VALUE(byte value) {
     if (value != Byte.MAX_VALUE) {
       throw new RuntimeException();
@@ -91,6 +104,7 @@
     return value;
   }
 
+  @Override
   public char echo_MAX_VALUE(char value) {
     if (value != Character.MAX_VALUE) {
       throw new RuntimeException();
@@ -99,6 +113,7 @@
     return value;
   }
 
+  @Override
   public double echo_MAX_VALUE(double value) {
     if (value != Double.MAX_VALUE) {
       throw new RuntimeException();
@@ -107,6 +122,7 @@
     return value;
   }
 
+  @Override
   public float echo_MAX_VALUE(float value) {
     if (value != Float.MAX_VALUE) {
       throw new RuntimeException();
@@ -115,6 +131,7 @@
     return value;
   }
 
+  @Override
   public int echo_MAX_VALUE(int value) {
     if (value != Integer.MAX_VALUE) {
       throw new RuntimeException();
@@ -123,6 +140,7 @@
     return value;
   }
 
+  @Override
   public long echo_MAX_VALUE(long value) {
     if (value != Long.MAX_VALUE) {
       throw new RuntimeException("expected: " + Long.toString(Long.MAX_VALUE)
@@ -132,6 +150,7 @@
     return value;
   }
 
+  @Override
   public short echo_MAX_VALUE(short value) {
     if (value != Short.MAX_VALUE) {
       throw new RuntimeException();
@@ -140,6 +159,7 @@
     return value;
   }
 
+  @Override
   public byte echo_MIN_VALUE(byte value) {
     if (value != Byte.MIN_VALUE) {
       throw new RuntimeException();
@@ -148,6 +168,7 @@
     return value;
   }
 
+  @Override
   public char echo_MIN_VALUE(char value) {
     if (value != Character.MIN_VALUE) {
       throw new RuntimeException();
@@ -156,6 +177,7 @@
     return value;
   }
 
+  @Override
   public double echo_MIN_VALUE(double value) {
     if (value != Double.MIN_VALUE) {
       throw new RuntimeException();
@@ -164,6 +186,7 @@
     return value;
   }
 
+  @Override
   public float echo_MIN_VALUE(float value) {
     if (value != Float.MIN_VALUE) {
       throw new RuntimeException();
@@ -172,6 +195,7 @@
     return value;
   }
 
+  @Override
   public int echo_MIN_VALUE(int value) {
     if (value != Integer.MIN_VALUE) {
       throw new RuntimeException();
@@ -180,6 +204,7 @@
     return value;
   }
 
+  @Override
   public long echo_MIN_VALUE(long value) {
     if (value != Long.MIN_VALUE) {
       throw new RuntimeException("expected: " + Long.toString(Long.MIN_VALUE)
@@ -189,6 +214,7 @@
     return value;
   }
 
+  @Override
   public short echo_MIN_VALUE(short value) {
     if (value != Short.MIN_VALUE) {
       throw new RuntimeException();
@@ -197,6 +223,7 @@
     return value;
   }
 
+  @Override
   public boolean echo_TRUE(boolean value) {
     if (value != true) {
       throw new RuntimeException();
diff --git a/user/test/com/google/gwt/user/server/rpc/XsrfTestServiceImpl.java b/user/test/com/google/gwt/user/server/rpc/XsrfTestServiceImpl.java
index 13c7a9b..2f2572e 100644
--- a/user/test/com/google/gwt/user/server/rpc/XsrfTestServiceImpl.java
+++ b/user/test/com/google/gwt/user/server/rpc/XsrfTestServiceImpl.java
@@ -33,10 +33,12 @@
     sessionCookieName = XsrfProtectionTest.SESSION_COOKIE_NAME;
   }
 
+  @Override
   public void drink(String drink) {
     drinks.add(drink);
   }
 
+  @Override
   public boolean checkIfDrankDrink(String drink) {
     return drinks.contains(drink);
   }
diff --git a/user/test/com/google/gwt/user/server/ui/FormPanelTestServlet.java b/user/test/com/google/gwt/user/server/ui/FormPanelTestServlet.java
index 759144e..dfa0ec5 100644
--- a/user/test/com/google/gwt/user/server/ui/FormPanelTestServlet.java
+++ b/user/test/com/google/gwt/user/server/ui/FormPanelTestServlet.java
@@ -28,6 +28,7 @@
  */
 public class FormPanelTestServlet extends HttpServlet {
 
+  @Override
   protected void doGet(HttpServletRequest req, HttpServletResponse rsp)
       throws ServletException, IOException {
 
@@ -40,6 +41,7 @@
     }
   }
 
+  @Override
   protected void doPost(HttpServletRequest req, HttpServletResponse rsp)
       throws ServletException, IOException {
 
diff --git a/user/test/com/google/gwt/validation/example/client/NotEmpty.java b/user/test/com/google/gwt/validation/example/client/NotEmpty.java
index e21489c..1520c52 100644
--- a/user/test/com/google/gwt/validation/example/client/NotEmpty.java
+++ b/user/test/com/google/gwt/validation/example/client/NotEmpty.java
@@ -65,9 +65,11 @@
    * Sample composite validator.
    */
   class NotEmptyValidator implements ConstraintValidator<NotEmpty, String> {
+    @Override
     public void initialize(NotEmpty constraintAnnotation) {
     }
 
+    @Override
     public boolean isValid(String value, ConstraintValidatorContext context) {
       return true;
     }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/AssertFalseValidatorTest.java b/user/test/com/google/gwt/validation/testing/constraints/AssertFalseValidatorTest.java
index 2774770..74a0922 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/AssertFalseValidatorTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/AssertFalseValidatorTest.java
@@ -29,6 +29,7 @@
   @AssertFalse
   private Boolean defaultField;
 
+  @Override
   protected AssertFalseValidator createValidator() {
     return new AssertFalseValidator();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForNumberTest.java b/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForNumberTest.java
index f39674f..fee5112 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForNumberTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForNumberTest.java
@@ -32,6 +32,7 @@
   @DecimalMax("922392239223.09")
   private double defaultField;
 
+  @Override
   protected DecimalMaxValidatorForNumber createValidator() {
     return new DecimalMaxValidatorForNumber();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForStringTest.java b/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForStringTest.java
index 15c69a5..a258c31 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForStringTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/DecimalMaxValidatorForStringTest.java
@@ -32,6 +32,7 @@
   @DecimalMax("922392239223.09")
   private String defaultField;
 
+  @Override
   protected DecimalMaxValidatorForString createValidator() {
     return new DecimalMaxValidatorForString();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForNumberTest.java b/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForNumberTest.java
index 8c66325..cfb8795 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForNumberTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForNumberTest.java
@@ -31,6 +31,7 @@
   @DecimalMin("922392239223.09")
   private double defaultField;
 
+  @Override
   protected DecimalMinValidatorForNumber createValidator() {
     return new DecimalMinValidatorForNumber();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForStringTest.java b/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForStringTest.java
index ea733b6..94d5d96 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForStringTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/DecimalMinValidatorForStringTest.java
@@ -32,6 +32,7 @@
   @DecimalMin("922392239223.09")
   private double defaultField;
 
+  @Override
   protected DecimalMinValidatorForString createValidator() {
     return new DecimalMinValidatorForString();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForNumberTest.java b/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForNumberTest.java
index fffbc38..5cec495 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForNumberTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForNumberTest.java
@@ -37,6 +37,7 @@
   @Digits(integer = 4, fraction = 2)
   private double defaultField;
 
+  @Override
   protected DigitsValidatorForNumber createValidator() {
     return new DigitsValidatorForNumber();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForStringTest.java b/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForStringTest.java
index 7fca0bf..c53698c 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForStringTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/DigitsValidatorForStringTest.java
@@ -35,6 +35,7 @@
   @Digits(integer = 4, fraction = 2)
   private double defaultField;
 
+  @Override
   protected DigitsValidatorForString createValidator() {
     return new DigitsValidatorForString();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/FutureValidatorForDateTest.java b/user/test/com/google/gwt/validation/testing/constraints/FutureValidatorForDateTest.java
index 65c03e7..fa46c16 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/FutureValidatorForDateTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/FutureValidatorForDateTest.java
@@ -31,6 +31,7 @@
   @Future
   private Date defaultField;
 
+  @Override
   protected FutureValidatorForDate createValidator() {
     return new FutureValidatorForDate();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/NullValidatorTest.java b/user/test/com/google/gwt/validation/testing/constraints/NullValidatorTest.java
index 5c17697..fcf22c5 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/NullValidatorTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/NullValidatorTest.java
@@ -29,6 +29,7 @@
   @Null
   private Object defaultField;
 
+  @Override
   protected NullValidator createValidator() {
     return new NullValidator();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/PastValidatorForDateTest.java b/user/test/com/google/gwt/validation/testing/constraints/PastValidatorForDateTest.java
index a791372..60e029a 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/PastValidatorForDateTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/PastValidatorForDateTest.java
@@ -31,6 +31,7 @@
   @Past
   private Date defaultField;
 
+  @Override
   protected PastValidatorForDate createValidator() {
     return new PastValidatorForDate();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/PatternValidatorTest.java b/user/test/com/google/gwt/validation/testing/constraints/PatternValidatorTest.java
index 727e04e..7e72464 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/PatternValidatorTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/PatternValidatorTest.java
@@ -47,6 +47,7 @@
     assertConstraintValidator("this is not good", false);
   }
 
+  @Override
   protected PatternValidator createValidator() {
     return new PatternValidator();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfBooleanTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfBooleanTest.java
index 598c4aa..c4aa560 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfBooleanTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfBooleanTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfBoolean createValidator() {
     return new SizeValidatorForArrayOfBoolean();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfByteTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfByteTest.java
index b893b49..e9a8a88 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfByteTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfByteTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfByte createValidator() {
     return new SizeValidatorForArrayOfByte();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfCharTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfCharTest.java
index febd2e1..abc85cd 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfCharTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfCharTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfChar createValidator() {
     return new SizeValidatorForArrayOfChar();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfDoubleTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfDoubleTest.java
index d558396..411291a 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfDoubleTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfDoubleTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfDouble createValidator() {
     return new SizeValidatorForArrayOfDouble();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfFloatTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfFloatTest.java
index 0d7aca2..5bd11af 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfFloatTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfFloatTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfFloat createValidator() {
     return new SizeValidatorForArrayOfFloat();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfIntTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfIntTest.java
index 5b44f0c..5e9ce1a 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfIntTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfIntTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfInt createValidator() {
     return new SizeValidatorForArrayOfInt();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfLongTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfLongTest.java
index 440befc..5e1437c 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfLongTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfLongTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfLong createValidator() {
     return new SizeValidatorForArrayOfLong();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfObjectTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfObjectTest.java
index a93b307..b5e89b5 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfObjectTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfObjectTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfObject createValidator() {
     return new SizeValidatorForArrayOfObject();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfShortTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfShortTest.java
index ad34615..937bf12 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfShortTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForArrayOfShortTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForArrayOfShort createValidator() {
     return new SizeValidatorForArrayOfShort();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForCollectionTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForCollectionTest.java
index 5a81d84..e7a7182 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForCollectionTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForCollectionTest.java
@@ -34,6 +34,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForCollection createValidator() {
     return new SizeValidatorForCollection();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForMapTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForMapTest.java
index 8b50d34..4d4563f 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForMapTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForMapTest.java
@@ -33,6 +33,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForMap createValidator() {
     return new SizeValidatorForMap();
   }
diff --git a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForStringTest.java b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForStringTest.java
index a27d0be..7a2caab 100644
--- a/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForStringTest.java
+++ b/user/test/com/google/gwt/validation/testing/constraints/SizeValidatorForStringTest.java
@@ -31,6 +31,7 @@
   @Size(min = 2, max = 5)
   private Date defaultField;
 
+  @Override
   protected SizeValidatorForString createValidator() {
     return new SizeValidatorForString();
   }
diff --git a/user/test/com/google/gwt/view/client/AbstractDataProviderTest.java b/user/test/com/google/gwt/view/client/AbstractDataProviderTest.java
index cb500ca..c2ea304 100644
--- a/user/test/com/google/gwt/view/client/AbstractDataProviderTest.java
+++ b/user/test/com/google/gwt/view/client/AbstractDataProviderTest.java
@@ -163,6 +163,7 @@
     
     // Set a key provider
     ProvidesKey<String> keyProvider = new ProvidesKey<String>() {
+      @Override
       public Object getKey(String item) {
         return item == null ? item : item.toUpperCase();
       }
diff --git a/user/test/com/google/gwt/view/client/AbstractSelectionModelTest.java b/user/test/com/google/gwt/view/client/AbstractSelectionModelTest.java
index 1729795..cf2cf69 100644
--- a/user/test/com/google/gwt/view/client/AbstractSelectionModelTest.java
+++ b/user/test/com/google/gwt/view/client/AbstractSelectionModelTest.java
@@ -43,6 +43,7 @@
       eventFired = false;
     }
 
+    @Override
     public void onSelectionChange(SelectionChangeEvent event) {
       assertFalse(eventFired);
       eventFired = true;
@@ -60,10 +61,12 @@
       super(keyProvider);
     }
     
+    @Override
     public boolean isSelected(T object) {
       return false;
     }
 
+    @Override
     public void setSelected(T object, boolean selected) {
       scheduleSelectionChangeEvent();
     }
@@ -152,6 +155,7 @@
 
     // Defer to the key provider if one is set.
     ProvidesKey<String> keyProvider = new ProvidesKey<String>() {
+      @Override
       public Object getKey(String item) {
         return item == null ? item : item.toUpperCase();
       }
diff --git a/user/test/com/google/gwt/view/client/DefaultNodeInfoTest.java b/user/test/com/google/gwt/view/client/DefaultNodeInfoTest.java
index 41f52ce..b7bccdd 100644
--- a/user/test/com/google/gwt/view/client/DefaultNodeInfoTest.java
+++ b/user/test/com/google/gwt/view/client/DefaultNodeInfoTest.java
@@ -33,6 +33,7 @@
     SingleSelectionModel<String> selectionModel = new SingleSelectionModel<String>(
         null);
     ValueUpdater<String> valueUpdater = new ValueUpdater<String>() {
+      @Override
       public void update(String value) {
       }
     };
diff --git a/user/test/com/google/gwt/view/client/ListDataProviderTest.java b/user/test/com/google/gwt/view/client/ListDataProviderTest.java
index cc6b377..bed49f6 100644
--- a/user/test/com/google/gwt/view/client/ListDataProviderTest.java
+++ b/user/test/com/google/gwt/view/client/ListDataProviderTest.java
@@ -456,6 +456,7 @@
     oldList.set(0, "newValue");
     delayTestFinish(2000);
     Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+      @Override
       public void execute() {
         assertNull(display.getLastRowData());
         finishTest();
diff --git a/user/test/com/google/gwt/view/client/MockHasData.java b/user/test/com/google/gwt/view/client/MockHasData.java
index cab23de..207d886 100644
--- a/user/test/com/google/gwt/view/client/MockHasData.java
+++ b/user/test/com/google/gwt/view/client/MockHasData.java
@@ -50,6 +50,7 @@
       return lastRowCountExact;
     }
 
+    @Override
     public void onRowCountChange(RowCountChangeEvent event) {
       this.lastRowCount = event.getNewRowCount();
       this.lastRowCountExact = event.isNewRowCountExact();
@@ -73,6 +74,7 @@
       return lastRange;
     }
 
+    @Override
     public void onRangeChange(RangeChangeEvent event) {
       this.lastRange = event.getNewRange();
     }
@@ -93,15 +95,18 @@
   private HandlerRegistration selectionHandler;
   private SelectionModel<? super T> selectionModel;
 
+  @Override
   public HandlerRegistration addCellPreviewHandler(Handler<T> handler) {
     return handlerManager.addHandler(CellPreviewEvent.getType(), handler);
   }
 
+  @Override
   public HandlerRegistration addRangeChangeHandler(
       RangeChangeEvent.Handler handler) {
     return handlerManager.addHandler(RangeChangeEvent.getType(), handler);
   }
 
+  @Override
   public HandlerRegistration addRowCountChangeHandler(
       RowCountChangeEvent.Handler handler) {
     return handlerManager.addHandler(RowCountChangeEvent.getType(), handler);
@@ -115,18 +120,22 @@
     lastRange = null;
   }
 
+  @Override
   public void fireEvent(GwtEvent<?> event) {
     handlerManager.fireEvent(event);
   }
 
+  @Override
   public T getVisibleItem(int indexOnPage) {
     return lastRowData.get(indexOnPage);
   }
 
+  @Override
   public int getVisibleItemCount() {
     return lastRowData == null ? 0 : lastRowData.size();
   }
 
+  @Override
   public List<T> getVisibleItems() {
     return lastRowData;
   }
@@ -159,31 +168,38 @@
     return lastRange;
   }
 
+  @Override
   public int getRowCount() {
     return rowCount;
   }
 
+  @Override
   public SelectionModel<? super T> getSelectionModel() {
     return selectionModel;
   }
 
+  @Override
   public Range getVisibleRange() {
     return new Range(pageStart, pageSize);
   }
 
+  @Override
   public boolean isRowCountExact() {
     return rowCountExact;
   }
 
+  @Override
   public void setRowData(int start, List<? extends T> values) {
     lastRange = new Range(start, values.size());
     lastRowData = new ArrayList<T>(values);
   }
 
+  @Override
   public final void setRowCount(int count) {
     setRowCount(count, true);
   }
 
+  @Override
   public void setRowCount(int count, boolean isExact) {
     if (this.rowCount == count && this.rowCountExact == isExact) {
       return;
@@ -193,19 +209,23 @@
     RowCountChangeEvent.fire(this, count, isExact);
   }
 
+  @Override
   public final void setVisibleRange(int start, int length) {
     setVisibleRange(new Range(start, length));
   }
 
+  @Override
   public void setVisibleRange(Range range) {
     setVisibleRange(range, false, false);
   }
 
+  @Override
   public void setVisibleRangeAndClearData(
       Range range, boolean forceRangeChangeEvent) {
     setVisibleRange(range, true, forceRangeChangeEvent);
   }
 
+  @Override
   public void setSelectionModel(SelectionModel<? super T> selectionModel) {
     // Remove the old selection handler.
     if (selectionHandler != null) {
@@ -218,6 +238,7 @@
     if (selectionModel != null) {
       selectionHandler = selectionModel.addSelectionChangeHandler(
           new SelectionChangeEvent.Handler() {
+            @Override
             public void onSelectionChange(SelectionChangeEvent event) {
             }
           });
diff --git a/user/test/com/google/gwt/view/client/NoSelectionModelTest.java b/user/test/com/google/gwt/view/client/NoSelectionModelTest.java
index d3f9fdbe..ad9c985 100644
--- a/user/test/com/google/gwt/view/client/NoSelectionModelTest.java
+++ b/user/test/com/google/gwt/view/client/NoSelectionModelTest.java
@@ -34,6 +34,7 @@
   public void testSelectedChangeEvent() {
     NoSelectionModel<String> model = createSelectionModel(null);
     SelectionChangeEvent.Handler handler = new SelectionChangeEvent.Handler() {
+      @Override
       public void onSelectionChange(SelectionChangeEvent event) {
         finishTest();
       }
@@ -57,6 +58,7 @@
 
   public void testSetSelectedWithKeyProvider() {
     ProvidesKey<String> keyProvider = new ProvidesKey<String>() {
+      @Override
       public Object getKey(String item) {
         return item.toUpperCase();
       }
diff --git a/user/test/com/google/gwt/view/client/SingleSelectionModelTest.java b/user/test/com/google/gwt/view/client/SingleSelectionModelTest.java
index d1966e9..fd78994 100644
--- a/user/test/com/google/gwt/view/client/SingleSelectionModelTest.java
+++ b/user/test/com/google/gwt/view/client/SingleSelectionModelTest.java
@@ -48,6 +48,7 @@
   public void testSelectedChangeEvent() {
     SingleSelectionModel<String> model = createSelectionModel(null);
     SelectionChangeEvent.Handler handler = new SelectionChangeEvent.Handler() {
+      @Override
       public void onSelectionChange(SelectionChangeEvent event) {
         finishTest();
       }
@@ -61,6 +62,7 @@
   public void testNoDuplicateChangeEvent() {
     SingleSelectionModel<String> model = createSelectionModel(null);
     SelectionChangeEvent.Handler handler = new SelectionChangeEvent.Handler() {
+      @Override
       public void onSelectionChange(SelectionChangeEvent event) {
         fail();
       }
@@ -75,6 +77,7 @@
   public void testNoDuplicateChangeEvent2() {
     SingleSelectionModel<String> model = createSelectionModel(null);
     SelectionChangeEvent.Handler handler = new SelectionChangeEvent.Handler() {
+      @Override
       public void onSelectionChange(SelectionChangeEvent event) {
         fail();
       }
@@ -127,6 +130,7 @@
 
   public void testSetSelectedWithKeyProvider() {
     ProvidesKey<String> keyProvider = new ProvidesKey<String>() {
+      @Override
       public Object getKey(String item) {
         return item.toUpperCase();
       }
diff --git a/user/test/com/google/web/bindery/autobean/gwt/client/AutoBeanTest.java b/user/test/com/google/web/bindery/autobean/gwt/client/AutoBeanTest.java
index a551cc1..e32d822 100644
--- a/user/test/com/google/web/bindery/autobean/gwt/client/AutoBeanTest.java
+++ b/user/test/com/google/web/bindery/autobean/gwt/client/AutoBeanTest.java
@@ -124,6 +124,7 @@
 
     HasMoreChainedSetters setBoolean(boolean value);
 
+    @Override
     HasMoreChainedSetters setInt(int value);
   }
 
@@ -164,6 +165,7 @@
       return (o instanceof Intf) && (((Intf) o).getInt() == getInt());
     }
 
+    @Override
     public int getInt() {
       return i;
     }
@@ -173,6 +175,7 @@
       return property;
     }
 
+    @Override
     public String getString() {
       return string;
     }
@@ -182,6 +185,7 @@
       return i;
     }
 
+    @Override
     public void setInt(int number) {
       this.i = number;
     }
@@ -191,10 +195,12 @@
       this.property = value;
     }
 
+    @Override
     public void setString(String value) {
       this.string = value;
     }
 
+    @Override
     public String toString() {
       return "toString";
     }
diff --git a/user/test/com/google/web/bindery/event/shared/EventBusTestBase.java b/user/test/com/google/web/bindery/event/shared/EventBusTestBase.java
index 0dd4d16..3bca60c 100644
--- a/user/test/com/google/web/bindery/event/shared/EventBusTestBase.java
+++ b/user/test/com/google/web/bindery/event/shared/EventBusTestBase.java
@@ -30,10 +30,12 @@
    */
   protected class Adaptor implements FooEvent.Handler, BarEvent.Handler {
 
+    @Override
     public void onFoo(FooEvent event) {
       add(this);
     }
 
+    @Override
     public void onBar(BarEvent event) {
       add(this);
     }
@@ -49,6 +51,7 @@
   private HashSet<Object> active = new HashSet<Object>();
 
   protected FooEvent.Handler fooHandler1 = new FooEvent.Handler() {
+    @Override
     public void onFoo(FooEvent event) {
       add(fooHandler1);
     }
@@ -60,6 +63,7 @@
   };
 
   protected FooEvent.Handler fooHandler2 = new FooEvent.Handler() {
+    @Override
     public void onFoo(FooEvent event) {
       add(fooHandler2);
     }
@@ -71,6 +75,7 @@
   };
 
   protected FooEvent.Handler fooHandler3 = new FooEvent.Handler() {
+    @Override
     public void onFoo(FooEvent event) {
       add(fooHandler3);
     }
@@ -83,6 +88,7 @@
 
   protected BarEvent.Handler barHandler1 = new BarEvent.Handler() {
 
+    @Override
     public void onBar(BarEvent event) {
       add(barHandler1);
     }
@@ -95,6 +101,7 @@
 
   protected BarEvent.Handler barHandler2 = new BarEvent.Handler() {
 
+    @Override
     public void onBar(BarEvent event) {
       add(barHandler2);
     }
@@ -107,6 +114,7 @@
 
   protected BarEvent.Handler barHandler3 = new BarEvent.Handler() {
 
+    @Override
     public void onBar(BarEvent event) {
       add(barHandler3);
     }
diff --git a/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java b/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java
index cbe7b58..10894df 100644
--- a/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java
+++ b/user/test/com/google/web/bindery/event/shared/SimpleEventBusTest.java
@@ -34,6 +34,7 @@
   class ShyHandler implements FooEvent.Handler {
     HandlerRegistration r;
 
+    @Override
     public void onFoo(FooEvent event) {
       add(this);
       r.removeHandler();
@@ -47,6 +48,7 @@
       this.expectedSource = source;
     }
 
+    @Override
     public void onFoo(FooEvent event) {
       add(this);
       assertEquals(expectedSource, event.getSource());
@@ -60,6 +62,7 @@
       this.e = e;
     }
 
+    @Override
     public void onFoo(FooEvent event) {
       throw e;
     }
@@ -124,6 +127,7 @@
 
     try {
       assertThrowsNpe(new Command() {
+        @Override
         public void execute() {
           FooEvent.register(eventBus, fooHandler1);
         }
@@ -137,11 +141,13 @@
   public void testConcurrentAdd() {
     final SimpleEventBus eventBus = new SimpleEventBus();
     final FooEvent.Handler two = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         add(this);
       }
     };
     FooEvent.Handler one = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         FooEvent.register(eventBus, two);
         add(this);
@@ -166,6 +172,7 @@
     FooEvent.Handler one = new FooEvent.Handler() {
       HandlerRegistration reg = addIt();
 
+      @Override
       public void onFoo(FooEvent event) {
         reg.removeHandler();
         addIt();
@@ -191,6 +198,7 @@
   public void testConcurrentAddAndRemoveByNastyUsersTryingToHurtUs() {
     final SimpleEventBus eventBus = new SimpleEventBus();
     final FooEvent.Handler two = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         add(this);
       }
@@ -201,6 +209,7 @@
       }
     };
     FooEvent.Handler one = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         FooEvent.register(eventBus, two).removeHandler();
         add(this);
@@ -316,46 +325,54 @@
   public void testNullChecks() {
     final SimpleEventBus eventBus = new SimpleEventBus();
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         eventBus.addHandler(null, fooHandler1);
       }
     });
 
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         FooEvent.register(eventBus, "foo", null);
       }
     });
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         FooEvent.register(eventBus, null, fooHandler1);
       }
     });
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         eventBus.addHandlerToSource(null, "foo", fooHandler1);
       }
     });
 
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         eventBus.fireEvent(null);
       }
     });
 
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         eventBus.fireEventFromSource(null, "");
       }
     });
 
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         eventBus.fireEventFromSource(new FooEvent() {
         }, null);
       }
     });
     assertThrowsNpe(new Command() {
+      @Override
       public void execute() {
         eventBus.fireEventFromSource(null, "baker");
       }
@@ -366,6 +383,7 @@
     SimpleEventBus reg = new SimpleEventBus();
 
     FooEvent.Handler handler = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         add(this);
         assertNull(event.getSource());
@@ -382,6 +400,7 @@
     FooEvent.Handler h = new FooEvent.Handler() {
       HandlerRegistration reg = FooEvent.register(eventBus, this);
 
+      @Override
       public void onFoo(FooEvent event) {
         add(this);
         reg.removeHandler();
@@ -401,17 +420,20 @@
     @SuppressWarnings("deprecation")
     final SimpleEventBus eventBus = new SimpleEventBus(true);
     final FooEvent.Handler handler0 = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         add(this);
       }
     };
     final FooEvent.Handler handler1 = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         assertNotFired(handler0);
         add(this);
       }
     };
     final FooEvent.Handler handler2 = new FooEvent.Handler() {
+      @Override
       public void onFoo(FooEvent event) {
         assertNotFired(handler0, handler1);
         add(this);
diff --git a/user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java
index 7fbd733..11d1646 100644
--- a/user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/FindServiceTest.java
@@ -306,6 +306,7 @@
     final HandlerRegistration registration =
         EntityProxyChange.registerForProxyType(req.getEventBus(), SimpleFooProxy.class,
             new EntityProxyChange.Handler<SimpleFooProxy>() {
+              @Override
               public void onProxyChange(EntityProxyChange<SimpleFooProxy> event) {
                 count[0]++;
               }
@@ -365,6 +366,7 @@
     final HandlerRegistration registration =
         EntityProxyChange.registerForProxyType(req.getEventBus(), SimpleFooProxy.class,
             new EntityProxyChange.Handler<SimpleFooProxy>() {
+              @Override
               public void onProxyChange(EntityProxyChange<SimpleFooProxy> event) {
                 count[0]++;
               }
diff --git a/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java
index ba57c5a..474a63d 100644
--- a/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryPolymorphicTest.java
@@ -461,10 +461,12 @@
 
     private String z = "z";
 
+    @Override
     public int getId() {
       return id;
     }
 
+    @Override
     public int getVersion() {
       return 0;
     }
diff --git a/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java
index f01cb00..e469bf2 100644
--- a/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/RequestFactoryTestBase.java
@@ -52,6 +52,7 @@
     int totalEventCount = 0;
     int updateEventCount = 0;
 
+    @Override
     public void onProxyChange(EntityProxyChange<P> event) {
       totalEventCount++;
       switch (event.getWriteOperation()) {
diff --git a/user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java b/user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java
index ec6987f..9979d20 100644
--- a/user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/gwt/client/ui/EditorTest.java
@@ -56,6 +56,7 @@
     protected final SimpleEditor<String> userName = SimpleEditor.of();
     RequestContext ctx;
 
+    @Override
     public void setRequestContext(RequestContext ctx) {
       this.ctx = ctx;
     }
@@ -70,6 +71,7 @@
     @Path("barField.userName")
     final SimpleEditor<String> barName = SimpleEditor.of();
 
+    @Override
     public void setRequestContext(RequestContext ctx) {
       this.ctx = ctx;
     }
@@ -94,6 +96,7 @@
 
     List<EditorError> errors;
 
+    @Override
     public void showErrors(List<EditorError> errors) {
       this.errors = errors;
     }
@@ -111,6 +114,7 @@
       HasEditorDelegate<SimpleFooProxy> {
     EditorDelegate<SimpleFooProxy> delegate;
 
+    @Override
     public void setDelegate(EditorDelegate<SimpleFooProxy> delegate) {
       this.delegate = delegate;
     }
@@ -356,6 +360,7 @@
           public void onSuccess(SimpleFooProxy response) {
             // EventBus notifications occur after the onSuccess()
             Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
+              @Override
               public boolean execute() {
                 if ("updated".equals(editor.userName.getValue())) {
                   assertEquals("updated", editor.userName.getValue());
diff --git a/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java
index cd509b3..c9dbab2 100644
--- a/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceImpl.java
@@ -26,6 +26,7 @@
     this.base = base;
   }
 
+  @Override
   public Integer add(int value) {
     return base + value;
   }
diff --git a/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java
index 131da3a..4b35dea 100644
--- a/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/InstanceServiceLocator.java
@@ -22,6 +22,7 @@
  */
 public class InstanceServiceLocator implements ServiceLocator {
 
+  @Override
   public Object getInstance(Class<?> clazz) {
     assert InstanceService.class.equals(clazz);
     return clazz.cast(new InstanceServiceImpl(5));
diff --git a/user/test/com/google/web/bindery/requestfactory/server/JsonRpcRequestFactoryJreTest.java b/user/test/com/google/web/bindery/requestfactory/server/JsonRpcRequestFactoryJreTest.java
index 492f4af..3cd7d94 100644
--- a/user/test/com/google/web/bindery/requestfactory/server/JsonRpcRequestFactoryJreTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/JsonRpcRequestFactoryJreTest.java
@@ -29,6 +29,7 @@
     return null;
   }
 
+  @Override
   protected SimpleJsonRpcRequestFactory createFactory() {
     return RequestFactorySource.create(SimpleJsonRpcRequestFactory.class);
   }
diff --git a/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
index a76d2b6..5b7fb05 100644
--- a/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/RequestFactoryExceptionHandlerServlet.java
@@ -24,6 +24,7 @@
     extends RequestFactoryServlet {
   public RequestFactoryExceptionHandlerServlet() {
     super(new ExceptionHandler() {
+      @Override
       public ServerFailure createServerFailure(Throwable throwable) {
         return new ServerFailure(throwable.getMessage(),
             throwable.getClass().getName(), "my stack trace", true);
diff --git a/user/test/com/google/web/bindery/requestfactory/server/ServiceLocatorTest.java b/user/test/com/google/web/bindery/requestfactory/server/ServiceLocatorTest.java
index 92c4f55..bd53d71 100644
--- a/user/test/com/google/web/bindery/requestfactory/server/ServiceLocatorTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/ServiceLocatorTest.java
@@ -35,6 +35,7 @@
   static class ServiceLocatorImpl implements ServiceLocator {
     static final ServiceLocatorImpl INSTANCE = new ServiceLocatorImpl();
 
+    @Override
     public Object getInstance(Class<?> clazz) {
       return new Object();
     }
diff --git a/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java b/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java
index 11659ae..9f9cd30 100644
--- a/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java
+++ b/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java
@@ -146,6 +146,7 @@
     return findFails;
   }
 
+  @Override
   public String getId() {
     return unpersisted ? null : id;
   }
@@ -171,6 +172,7 @@
     version++;
   }
 
+  @Override
   public SimpleBar persistAndReturnSelf() {
     persist();
     return this;
diff --git a/user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java b/user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java
index 3cb9f82..471d5f2 100644
--- a/user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/ComplexKeysTest.java
@@ -75,6 +75,7 @@
   interface DomainWithEntityKeyProxy extends EntityProxy {
     EntityKeyProxy getId();
 
+    @Override
     EntityProxyId<DomainWithEntityKeyProxy> stableId();
   }
 
@@ -109,6 +110,7 @@
   interface DomainWithValueKeyProxy extends EntityProxy {
     ValueKeyProxy getId();
 
+    @Override
     EntityProxyId<DomainWithValueKeyProxy> stableId();
   }
 
diff --git a/user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java b/user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java
index 632ffb7..8eee264 100644
--- a/user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/LocatorTest.java
@@ -84,6 +84,7 @@
 
   @ProxyFor(value = Domain.class, locator = DomainLocator.class)
   interface DomainProxy extends EntityProxy {
+    @Override
     EntityProxyId<DomainProxy> stableId();
   };
 
diff --git a/user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java b/user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java
index c6ea72a..803a45c 100644
--- a/user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/ServiceInheritanceTest.java
@@ -29,6 +29,7 @@
    * specified in the @{@link Service} annotation.
    */
   public static class SumServiceLocator implements ServiceLocator {
+    @Override
     public Object getInstance(Class<?> clazz) {
       if (BaseImpl.class.equals(clazz)) {
         return new BaseImpl();
diff --git a/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java
index a09531a..5f2683b 100644
--- a/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleBarProxy.java
@@ -39,5 +39,6 @@
 
   void setUserName(String userName);
 
+  @Override
   EntityProxyId<SimpleBarProxy> stableId();
 }
diff --git a/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java b/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java
index 9925dde..be80c78 100644
--- a/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java
+++ b/user/test/com/google/web/bindery/requestfactory/shared/SimpleFooProxy.java
@@ -28,5 +28,6 @@
 
   void setFooField(SimpleFooProxy fooField);
 
+  @Override
   EntityProxyId<SimpleFooProxy> stableId();
 }
diff --git a/user/test/org/apache/commons/collections/AbstractTestListIterator.java b/user/test/org/apache/commons/collections/AbstractTestListIterator.java
index e97f743..7f61132 100755
--- a/user/test/org/apache/commons/collections/AbstractTestListIterator.java
+++ b/user/test/org/apache/commons/collections/AbstractTestListIterator.java
@@ -61,6 +61,7 @@
    * 
    * @return an empty iterator
    */
+  @Override
   public Iterator makeEmptyIterator() {
     return makeEmptyListIterator();
   }
@@ -70,6 +71,7 @@
    * 
    * @return a full iterator
    */
+  @Override
   public Iterator makeFullIterator() {
     return makeFullListIterator();
   }
diff --git a/user/test/org/apache/commons/collections/DefaultMapEntry.java b/user/test/org/apache/commons/collections/DefaultMapEntry.java
index 2f8ee5a..f6daecc 100644
--- a/user/test/org/apache/commons/collections/DefaultMapEntry.java
+++ b/user/test/org/apache/commons/collections/DefaultMapEntry.java
@@ -52,6 +52,7 @@
      *  Implemented per API documentation of 
      *  {@link java.util.Map.Entry#equals(Object)}
      **/
+    @Override
     public boolean equals(Object o) {
         if( o == null ) return false;
         if( o == this ) return true;        
@@ -70,6 +71,7 @@
      *  Implemented per API documentation of 
      *  {@link java.util.Map.Entry#hashCode()}
      **/
+    @Override
     public int hashCode() {
         return ( ( getKey() == null ? 0 : getKey().hashCode() ) ^
                  ( getValue() == null ? 0 : getValue().hashCode() ) ); 
@@ -85,6 +87,7 @@
      *
      *  @return the key 
      */
+    @Override
     public Object getKey() {
         return key;
     }
@@ -95,6 +98,7 @@
      *
      *  @return the value
      */
+    @Override
     public Object getValue() {
         return value;
     }
@@ -117,6 +121,7 @@
       * @return the old value of the value
       * @param value the new value
       */
+    @Override
     public Object setValue(Object value) {
         Object answer = this.value;
         this.value = value;
diff --git a/user/test/org/apache/commons/collections/LocalTestNode.java b/user/test/org/apache/commons/collections/LocalTestNode.java
index ba282ad..e141975 100644
--- a/user/test/org/apache/commons/collections/LocalTestNode.java
+++ b/user/test/org/apache/commons/collections/LocalTestNode.java
@@ -73,6 +73,7 @@
      *
      * @return int
      */
+    @Override
     public int compareTo(Object o) {
 
         LocalTestNode other = (LocalTestNode) o;
@@ -92,6 +93,7 @@
      *
      * @return true if equal
      */
+    @Override
     public boolean equals(Object o) {
 
         if (o == null) {
@@ -111,6 +113,7 @@
     /**
      * @return hash code
      */
+    @Override
     public int hashCode() {
         return getKey().hashCode() ^ getValue().hashCode();
     }
diff --git a/user/test/org/apache/commons/collections/TestCollection.java b/user/test/org/apache/commons/collections/TestCollection.java
index 29bb42f..f1333f0 100644
--- a/user/test/org/apache/commons/collections/TestCollection.java
+++ b/user/test/org/apache/commons/collections/TestCollection.java
@@ -370,6 +370,7 @@
     /**
      *  Returns an empty collection for Object tests.
      */
+    @Override
     public Object makeObject() {
         return makeCollection();
     }
diff --git a/user/test/org/apache/commons/collections/TestComparator.java b/user/test/org/apache/commons/collections/TestComparator.java
index 331644d..8e3025e 100644
--- a/user/test/org/apache/commons/collections/TestComparator.java
+++ b/user/test/org/apache/commons/collections/TestComparator.java
@@ -27,6 +27,7 @@
     public abstract Comparator makeComparator();
     public abstract List getComparableObjectsOrdered();
 
+    @Override
     public Object makeObject() {
         return makeComparator();
     }
@@ -36,6 +37,7 @@
      * 
      * @return 2
      */
+    @Override
     public int getCompatibilityVersion() {
         return 2;
     }
@@ -58,10 +60,12 @@
 
     }
 
+    @Override
     public boolean supportsEmptyCollections() {
         return false;
     }
 
+    @Override
     public boolean supportsFullCollections() {
         return false;
     }
diff --git a/user/test/org/apache/commons/collections/TestList.java b/user/test/org/apache/commons/collections/TestList.java
index 88dd29c..f00824a 100644
--- a/user/test/org/apache/commons/collections/TestList.java
+++ b/user/test/org/apache/commons/collections/TestList.java
@@ -72,6 +72,7 @@
      *
      *  @return an empty list to be used for testing
      */
+    @Override
     final protected Collection makeCollection() {
         return makeEmptyList();
     }
@@ -82,6 +83,7 @@
      *
      *  @return a full list to be used for testing
      */
+    @Override
     final protected Collection makeFullCollection() {
         return makeFullList();
     }
@@ -133,32 +135,39 @@
 
       public class TestListIterator extends AbstractTestListIterator {
 
+        @Override
         public Object addSetValue() {
           return TestList.this.getOtherElements()[0];
         }
 
+        @Override
         public boolean supportsRemove() {
           return TestList.this.isRemoveSupported();
         }
 
+        @Override
         public boolean supportsAdd() {
           return TestList.this.isAddSupported();
         }
 
+        @Override
         public boolean supportsSet() {
           return TestList.this.isSetSupported();
         }
 
+        @Override
         public ListIterator makeEmptyListIterator() {
           resetEmpty();
           return ((List) TestList.this.collection).listIterator();
         }
 
+        @Override
         public ListIterator makeFullListIterator() {
           resetFull();
           return ((List) TestList.this.collection).listIterator();
         }
 
+        @Override
         public Object makeObject() {
           return ((List) TestList.this.collection).listIterator();
         }
@@ -503,10 +512,12 @@
 
         final List listForC = Arrays.asList(getFullElements());
         Collection c = new AbstractCollection() {
+            @Override
             public int size() {
                 return listForC.size();
             }
 
+            @Override
             public Iterator iterator() {
                 return listForC.iterator();
             }
@@ -631,6 +642,7 @@
     /**
      *  Returns an empty {@link ArrayList}.
      */
+    @Override
     protected Collection makeConfirmedCollection() {
         ArrayList list = new ArrayList();
         return list;
@@ -640,6 +652,7 @@
     /**
      *  Returns a full {@link ArrayList}.
      */
+    @Override
     protected Collection makeConfirmedFullCollection() {
         ArrayList list = new ArrayList();
         list.addAll(Arrays.asList(getFullElements()));
@@ -651,6 +664,7 @@
      *  Verifies that the test list implementation matches the confirmed list
      *  implementation.
      */
+    @Override
     protected void verify() {
         super.verify();
 
diff --git a/user/test/org/apache/commons/collections/TestMap.java b/user/test/org/apache/commons/collections/TestMap.java
index 7e1d0a9..71c3cd3 100644
--- a/user/test/org/apache/commons/collections/TestMap.java
+++ b/user/test/org/apache/commons/collections/TestMap.java
@@ -305,6 +305,7 @@
         return m;
     }
 
+    @Override
     public Object makeObject() {
         return makeEmptyMap();
     }
@@ -718,6 +719,7 @@
         }
 
         // Have to implement manually; entrySet doesn't support addAll
+        @Override
         protected Object[] getFullElements() {
             Object[] k = getSampleKeys();
             Object[] v = getSampleValues();
@@ -725,42 +727,50 @@
         }
         
         // Have to implement manually; entrySet doesn't support addAll
+        @Override
         protected Object[] getOtherElements() {
             Object[] k = getOtherKeys();
             Object[] v = getOtherValues();
             return makeEntryArray(k, v);
         }
         
+        @Override
         protected Set makeEmptySet() {
             return makeEmptyMap().entrySet();
         }
         
+        @Override
         protected Set makeFullSet() {
             return makeFullMap().entrySet();
         }
         
+        @Override
         protected boolean isAddSupported() {
             // Collection views don't support add operations.
             return false;
         }
         
+        @Override
         protected boolean isRemoveSupported() {
             // Entry set should only support remove if map does
             return isAddRemoveModifiable();
         }
         
+        @Override
         protected void resetFull() {
             TestMap.this.resetFull();
             collection = map.entrySet();
             TestMapEntrySet.this.confirmed = TestMap.this.confirmed.entrySet();
         }
         
+        @Override
         protected void resetEmpty() {
             TestMap.this.resetEmpty();
             collection = map.entrySet();
             TestMapEntrySet.this.confirmed = TestMap.this.confirmed.entrySet();
         }
         
+        @Override
         protected void verify() {
             super.verify();
             TestMap.this.verify();
@@ -773,42 +783,51 @@
         public TestMapKeySet() {
             super("");
         }
+        @Override
         protected Object[] getFullElements() {
             return getSampleKeys();
         }
         
+        @Override
         protected Object[] getOtherElements() {
             return getOtherKeys();
         }
         
+        @Override
         protected Set makeEmptySet() {
             return makeEmptyMap().keySet();
         }
         
+        @Override
         protected Set makeFullSet() {
             return makeFullMap().keySet();
         }
         
+        @Override
         protected boolean isAddSupported() {
             return false;
         }
         
+        @Override
         protected boolean isRemoveSupported() {
             return isAddRemoveModifiable();
         }
         
+        @Override
         protected void resetEmpty() {
             TestMap.this.resetEmpty();
             collection = map.keySet();
             TestMapKeySet.this.confirmed = TestMap.this.confirmed.keySet();
         }
         
+        @Override
         protected void resetFull() {
             TestMap.this.resetFull();
             collection = map.keySet();
             TestMapKeySet.this.confirmed = TestMap.this.confirmed.keySet();
         }
         
+        @Override
         protected void verify() {
             super.verify();
             TestMap.this.verify();
@@ -822,58 +841,70 @@
             
         }
 
+        @Override
         protected Object[] getFullElements() {
             return getSampleValues();
         }
         
+        @Override
         protected Object[] getOtherElements() {
             return getOtherValues();
         }
         
+        @Override
         protected Collection makeCollection() {
             return makeEmptyMap().values();
         }
         
+        @Override
         protected Collection makeFullCollection() {
             return makeFullMap().values();
         }
         
+        @Override
         protected boolean isAddSupported() {
             return false;
         }
         
+        @Override
         protected boolean isRemoveSupported() {
             return isAddRemoveModifiable();
         }
 
+        @Override
         protected boolean areEqualElementsDistinguishable() {
             // equal values are associated with different keys, so they are
             // distinguishable.  
             return true;
         }
 
+        @Override
         protected Collection makeConfirmedCollection() {
             // never gets called, reset methods are overridden
             return null;
         }
         
+        @Override
         protected Collection makeConfirmedFullCollection() {
             // never gets called, reset methods are overridden
             return null;
         }
         
+        @Override
         protected void resetFull() {
             TestMap.this.resetFull();
             collection = map.values();
             TestMapValues.this.confirmed = TestMap.this.confirmed.values();
         }
         
+        @Override
         protected void resetEmpty() {
             TestMap.this.resetEmpty();
             collection = map.values();
             TestMapValues.this.confirmed = TestMap.this.confirmed.values();
         }
 
+        @Override
         protected void verify() {
             super.verify();
             TestMap.this.verify();
diff --git a/user/test/org/apache/commons/collections/TestSet.java b/user/test/org/apache/commons/collections/TestSet.java
index df77884..69580f0 100644
--- a/user/test/org/apache/commons/collections/TestSet.java
+++ b/user/test/org/apache/commons/collections/TestSet.java
@@ -57,6 +57,7 @@
      *
      *  @return an empty collection
      */
+    @Override
     protected final Collection makeCollection() {
         return makeEmptySet();
     }
@@ -67,6 +68,7 @@
      *
      *  @return a full collection
      */
+    @Override
     protected final Collection makeFullCollection() {
         return makeFullSet();
     }
@@ -84,6 +86,7 @@
      *
      *  @return a confirmed empty collection
      */
+    @Override
     protected Collection makeConfirmedCollection() {
         return new HashSet();
     }
@@ -94,6 +97,7 @@
      *
      *  @return a confirmed full collection
      */
+    @Override
     protected Collection makeConfirmedFullCollection() {
         HashSet set = new HashSet();
         set.addAll(Arrays.asList(getFullElements()));
@@ -173,6 +177,7 @@
     /**
      *  Provides additional verifications for sets.
      */
+    @Override
     protected void verify() {
         super.verify();
         assertEquals("Sets should be equal", confirmed, collection);
diff --git a/user/test/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinConstraintsGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinConstraintsGwtTest.java
index 36ad433..da3b5de 100644
--- a/user/test/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinConstraintsGwtTest.java
+++ b/user/test/org/hibernate/jsr303/tck/tests/constraints/builtinconstraints/BuiltinConstraintsGwtTest.java
@@ -145,6 +145,7 @@
     delegate.testSizeConstraint();
   }
 
+  @Override
   public String toString() {
     return delegate.toString();
   }
diff --git a/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java b/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java
index d0509ed..608d454 100644
--- a/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java
+++ b/user/test/org/hibernate/jsr303/tck/util/TckTestSuiteWrapper.java
@@ -67,6 +67,7 @@
       final Class<? extends Annotation> annotationClass) {
     return new Predicate<Method>() {
 
+      @Override
       public boolean apply(Method method) {
         return method.getAnnotation(annotationClass) != null;
       }
@@ -75,6 +76,7 @@
 
   private static <T> Predicate<T> createHasProperty(final String property) {
     return new Predicate<T>() {
+      @Override
       public boolean apply(T notUsed) {
         String value = System.getProperty(property);
         return Boolean.parseBoolean(value);
diff --git a/user/test/test/ServletMappingTest.java b/user/test/test/ServletMappingTest.java
index 5dcb363..e381edc 100644
--- a/user/test/test/ServletMappingTest.java
+++ b/user/test/test/ServletMappingTest.java
@@ -28,6 +28,7 @@
 
   private static final int RPC_WAIT = 5000;
 
+  @Override
   public String getModuleName() {
     return "test.ServletMappingTest";
   }
@@ -37,10 +38,12 @@
    */
   public void testServletMapping1() {
     makeAsyncCall(GWT.getModuleBaseURL() + "test", new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         finishTest();
         assertEquals(new Integer(1), result);
@@ -53,10 +56,12 @@
    */
   public void testServletMapping2() {
     makeAsyncCall(GWT.getModuleBaseURL() + "test/longer", new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         finishTest();
         assertEquals(new Integer(2), result);
@@ -69,10 +74,12 @@
    */
   public void testServletMapping3() {
     makeAsyncCall(GWT.getModuleBaseURL() + "test/long", new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         finishTest();
         assertEquals(new Integer(3), result);
@@ -86,10 +93,12 @@
   public void testBadRequestWithExtraPath() {
     makeAsyncCall(GWT.getModuleBaseURL() + "test/bogus/extra/path",
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             finishTest();
           }
 
+          @Override
           public void onSuccess(Object result) {
             finishTest();
             assertEquals(new Integer(1), result);
@@ -103,10 +112,12 @@
   public void testBadRequestWithQueryString() {
     makeAsyncCall(GWT.getModuleBaseURL() + "test/bogus?a=b&c=d",
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             finishTest();
           }
 
+          @Override
           public void onSuccess(Object result) {
             finishTest();
             assertEquals(new Integer(1), result);
@@ -120,10 +131,12 @@
   public void testServletMapping3WithQueryString() {
     makeAsyncCall(GWT.getModuleBaseURL() + "test/long?a=b&c=d",
         new AsyncCallback() {
+          @Override
           public void onFailure(Throwable caught) {
             TestSetValidator.rethrowException(caught);
           }
 
+          @Override
           public void onSuccess(Object result) {
             finishTest();
             assertEquals(new Integer(3), result);
@@ -137,10 +150,12 @@
   public void testTotallyDifferentServletMapping3() {
     makeAsyncCall(GWT.getModuleBaseURL()
         + "totally/different/but/valid?a=b&c=d", new AsyncCallback() {
+      @Override
       public void onFailure(Throwable caught) {
         TestSetValidator.rethrowException(caught);
       }
 
+      @Override
       public void onSuccess(Object result) {
         finishTest();
         assertEquals(new Integer(3), result);
diff --git a/user/test/test/ServletMappingTestApp.java b/user/test/test/ServletMappingTestApp.java
index d1d5cf7..ea50673 100644
--- a/user/test/test/ServletMappingTestApp.java
+++ b/user/test/test/ServletMappingTestApp.java
@@ -22,6 +22,7 @@
  * TODO: document me.
  */
 public class ServletMappingTestApp implements EntryPoint {
+  @Override
   public void onModuleLoad() {
     Window.alert("ServletMappingTest onModuleLoad()");
   }
diff --git a/user/test/test/ServletMappingTestServiceImpl1.java b/user/test/test/ServletMappingTestServiceImpl1.java
index 13759ac..4a7b9b7 100644
--- a/user/test/test/ServletMappingTestServiceImpl1.java
+++ b/user/test/test/ServletMappingTestServiceImpl1.java
@@ -23,6 +23,7 @@
 public class ServletMappingTestServiceImpl1 extends HybridServiceServlet
     implements ServletMappingTestService {
 
+  @Override
   public int which() {
     return 1;
   }
diff --git a/user/test/test/ServletMappingTestServiceImpl2.java b/user/test/test/ServletMappingTestServiceImpl2.java
index e78bb8b..aa4e227 100644
--- a/user/test/test/ServletMappingTestServiceImpl2.java
+++ b/user/test/test/ServletMappingTestServiceImpl2.java
@@ -23,6 +23,7 @@
 public class ServletMappingTestServiceImpl2 extends HybridServiceServlet
     implements ServletMappingTestService {
 
+  @Override
   public int which() {
     return 2;
   }
diff --git a/user/test/test/ServletMappingTestServiceImpl3.java b/user/test/test/ServletMappingTestServiceImpl3.java
index 3e6e056..2daef5e 100644
--- a/user/test/test/ServletMappingTestServiceImpl3.java
+++ b/user/test/test/ServletMappingTestServiceImpl3.java
@@ -23,6 +23,7 @@
 public class ServletMappingTestServiceImpl3 extends HybridServiceServlet
     implements ServletMappingTestService {
 
+  @Override
   public int which() {
     return 3;
   }