diff --git a/tests/MyGame/Example/Test.java b/tests/MyGame/Example/Test.java
index c4ffc41..ce8f903 100644
--- a/tests/MyGame/Example/Test.java
+++ b/tests/MyGame/Example/Test.java
@@ -31,5 +31,23 @@
     public Test get(int j) { return get(new Test(), j); }
     public Test get(Test obj, int j) {  return obj.__assign(__element(j), bb); }
   }
+  public TestT unpack() {
+    TestT _o = new TestT();
+    unpackTo(_o);
+    return _o;
+  }
+  public void unpackTo(TestT _o) {
+    short _oA = a();
+    _o.setA(_oA);
+    byte _oB = b();
+    _o.setB(_oB);
+  }
+  public static int pack(FlatBufferBuilder builder, TestT _o) {
+    if (_o == null) return 0;
+    return createTest(
+      builder,
+      _o.getA(),
+      _o.getB());
+  }
 }
 
