public void testJavaBean() {
    try {
      MyBean lTest1 = new MyBean();
      lTest1.setId(100);
      lTest1.setName("SISE Rules!");
      lTest1.setInt1(new Integer(0));
      lTest1.setInt2(new Integer(0));

      System.out.println(marshall.marshall(lTest1).render(true));
      MarshallValue lResult = marshall.unmarshall(marshall.marshall(lTest1));
      Assert.assertTrue(MarshallValue.REFERENCE == lResult.getType());
      MyBean lTest2 = (MyBean) lResult.getReference();

      // Test if the contents are intact.
      Assert.assertNotNull(lTest2);
      Assert.assertEquals(lTest2.getName(), "SISE Rules!");
      Assert.assertEquals(lTest2.getId(), 100);

      // Different physical objects should remain different, even if they
      // are equal.
      Assert.assertTrue(!(lTest2.getInt1() == lTest2.getInt2()));
    } catch (Exception e) {
      e.printStackTrace(System.out);
      Assert.fail();
    }
  }