public void testResume() throws Exception {
    assertTrue(fromSuite());
    testSuspend();
    assertTrue("suspend must succeed to create the output first", output != null);

    assertEquals(output.length(), 562);

    final Object o = loadJDK(output);

    assertTrue(o instanceof Continuation);
    final Continuation c1 = (Continuation) o;
    final StackRecorder sr1 = (StackRecorder) PrivateAccessor.getField(c1, "stackRecorder");
    final Runnable r1 = (Runnable) PrivateAccessor.getField(sr1, "runnable");
    assertEquals(SimpleSerializable.class.getName(), r1.getClass().getName());

    final SimpleSerializable ss1 = (SimpleSerializable) r1;
    assertTrue(ss1.g == 0);
    assertTrue(ss1.l == 0);
    final Continuation c2 = Continuation.continueWith(c1);
    final StackRecorder sr2 = (StackRecorder) PrivateAccessor.getField(c2, "stackRecorder");
    final Runnable r2 = (Runnable) PrivateAccessor.getField(sr2, "runnable");
    assertEquals(SimpleSerializable.class.getName(), r2.getClass().getName());
    final SimpleSerializable ss2 = (SimpleSerializable) r2;
    assertTrue(ss2.g == 1);
    assertTrue(ss2.l == 1);
    assertTrue(r1 == r2);
  }
 /**
  * Helper method.
  *
  * @param filter the content type.
  * @return true if the filter is in the container, false otherwise.
  */
 private boolean isFilterInContainer(ScriptFilter filter) throws Exception {
   if (filter != null) {
     Map map = (Map) PrivateAccessor.getField(module, "scriptFilters");
     if (map != null) {
       return map.containsKey(filter.getContentType());
     }
   }
   return false;
 }