### Question:
TableMeta implements ProtoObject<CatalogProtos.TableProto>, GsonObject, Cloneable { public boolean equals(Object object) { if(object instanceof TableMeta) { TableMeta other = (TableMeta) object; return this.getProto().equals(other.getProto()); } return false; } private  TableMeta();  TableMeta(StoreType type, Options options);  TableMeta(TableProto proto); StoreType getStoreType(); void setOptions(Options options); void putOption(String key, String val); String getOption(String key); String getOption(String key, String defaultValue); Options getOptions(); Map<String,String> toMap(); boolean equals(Object object); int hashCode(); @Override Object clone(); String toString(); TableProto getProto(); @Override String toJson(); void mergeProtoToLocal();  }### Answer:
@Test public void testEqualsObject() { Schema schema2 = new Schema(); schema2.addColumn("name", Type.BLOB); schema2.addColumn("addr", Type.TEXT); TableMeta meta2 = CatalogUtil.newTableMeta(StoreType.CSV); assertTrue(meta.equals(meta2)); assertNotSame(meta, meta2); }