diff --git a/tests/MyGame/Example/StatT.java b/tests/MyGame/Example/StatT.java
new file mode 100644
index 0000000..67ad13e
--- /dev/null
+++ b/tests/MyGame/Example/StatT.java
@@ -0,0 +1,34 @@
+// automatically generated by the FlatBuffers compiler, do not modify
+
+package MyGame.Example;
+
+import java.nio.*;
+import java.lang.*;
+import java.util.*;
+import com.google.flatbuffers.*;
+
+public class StatT {
+  private String id;
+  private long val;
+  private int count;
+
+  public String getId() { return id; }
+
+  public void setId(String id) { this.id = id; }
+
+  public long getVal() { return val; }
+
+  public void setVal(long val) { this.val = val; }
+
+  public int getCount() { return count; }
+
+  public void setCount(int count) { this.count = count; }
+
+
+  public StatT() {
+    this.id = null;
+    this.val = 0L;
+    this.count = 0;
+  }
+}
+
