title: "java.lang.VerifyError: Cannot inherit from final class" when running GWTTestCase
body: <p>I just wrote my very first GWTTestCase but running it always gives me a VerifyError. Here's my embryo of a great testsuite to be :</p>
  
  <pre><code>public void test() {
      Invoice invoice = new Invoice();
      invoice.setInvoiceDate(DateTimeFormat.getFormat(DomainResource.DATE_PATTERN).format(new Date()));
      InvoiceEditorDriver driver = GWT.create(InvoiceEditorDriver.class);
      InvoiceNumberEditor editor = new InvoiceNumberEditor();
      driver.initialize(editor);
      driver.edit(invoice);
  
      assertFalse(driver.isDirty());
      }
  </code></pre>
  
  <p>For completeness, I use Google AppEngine and GWT together, and I think this may relate to the security sandbox of AppEngine.</p>
  
  <p>The class that is being loaded is "com.gargoylesoftware.htmlunit.SocksSocketFactory".</p>
  
  <p>The full stacktrace here :</p>
  
  <pre><code>Exception in thread "htmlUnit client thread" java.lang.VerifyError: Cannot inherit from final class
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
      at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
      at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
      at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
      at com.gargoylesoftware.htmlunit.HttpWebConnection.createHttpClient(HttpWebConnection.java:542)
      at com.gargoylesoftware.htmlunit.HttpWebConnection.getHttpClient(HttpWebConnection.java:506)
      at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:150)
      at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1281)
      at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1198)
      at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:307)
      at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:376)
      at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:361)
      at com.google.gwt.junit.RunStyleHtmlUnit$HtmlUnitThread.run(RunStyleHtmlUnit.java:136)
  </code></pre>
  
  <p>I tried excluding GAE validation for given class but without success. I'm not sure if excluding validation is sufficient and if it's possilble to setup validation exclude rules for files in a jar.</p>