Adding explicit casts to the return value of certain methods to help the javac compiler.  Some compilers require the explicit cast.

Review at http://gwt-code-reviews.appspot.com/1463810

Review by: robertvawter@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10413 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java b/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
index f1d07ba..6fb6ea5 100644
--- a/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
+++ b/user/src/com/google/gwt/dom/builder/client/DomElementBuilderBase.java
@@ -82,6 +82,7 @@
   @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B end() {
+    // An explicit cast is required to satisfy some javac compilers.
     return (B) delegate.end();
   }
 
@@ -91,19 +92,22 @@
     return (B) delegate.end(tagName);
   }
 
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endDiv() {
-    return end("div");
+    return (B) end("div");
   }
 
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endOption() {
-    return end("option");
+    return (B) end("option");
   }
 
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endSelect() {
-    return end("select");
+    return (B) end("select");
   }
 
   @Override
@@ -178,7 +182,11 @@
    * @return the element on which the attribute can be set
    */
   protected E assertCanAddAttribute() {
-    return delegate.assertCanAddAttribute().cast();
+    /*
+     * An explicit parameterized return type on cast() is required by some javac
+     * compilers.
+     */
+    return delegate.assertCanAddAttribute().<E> cast();
   }
 
   /**
diff --git a/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java b/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
index fcc9f99..032f167 100644
--- a/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
+++ b/user/src/com/google/gwt/dom/builder/shared/HtmlElementBuilderBase.java
@@ -84,6 +84,7 @@
   @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B end() {
+    // An explicit cast is required to satisfy some javac compilers.
     return (B) delegate.end();
   }
 
@@ -93,19 +94,22 @@
     return (B) delegate.end(tagName);
   }
 
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endDiv() {
-    return end("div");
+    return (B) end("div");
   }
 
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endOption() {
-    return end("option");
+    return (B) end("option");
   }
 
+  @SuppressWarnings("unchecked")
   @Override
   public <B extends ElementBuilderBase<?>> B endSelect() {
-    return end("select");
+    return (B) end("select");
   }
 
   @Override