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

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

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

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

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