// automatically generated by the FlatBuffers compiler, do not modify

package MyGame.OtherNameSpace;

import com.google.flatbuffers.*;
import java.nio.*;
import java.util.*;

public class TableBT {
  private TableAT a;

  public TableAT getA() {
    return a;
  }

  public void setA(TableAT a) {
    this.a = a;
  }

  public TableBT() {
    this.a = null;
  }
}
