@Test
  public void testOptionalNestedFieldClass01() throws Exception {
    OptionalBaseClass src = new OptionalBaseClass();
    src.f1 = null;

    byte[] raw = MessagePack.pack(src);

    OptionalBaseClass dst = MessagePack.unpack(raw, OptionalBaseClass.class);
    assertTrue(src.f0 == dst.f0);
    assertTrue(src.f1 == dst.f1);
  }
  @Test
  public void testOptionalNestedFieldClass00() throws Exception {
    OptionalBaseClass src = new OptionalBaseClass();
    OptionalNestedClass src2 = new OptionalNestedClass();
    src.f0 = 0;
    src2.f2 = 2;
    src.f1 = src2;

    byte[] raw = MessagePack.pack(src);

    OptionalBaseClass dst = MessagePack.unpack(raw, OptionalBaseClass.class);
    assertTrue(src.f0 == dst.f0);
    assertTrue(src.f1.f2 == dst.f1.f2);
  }