### Question:
TableMeta implements ProtoObject<CatalogProtos.TableProto>, GsonObject, Cloneable { public boolean equals(Object object) { if(object instanceof TableMeta) { TableMeta other = (TableMeta) object; boolean eq = this.getDataFormat().equals(other.getDataFormat()); eq = eq && this.getPropertySet().equals(other.getPropertySet()); return eq; } return false; } TableMeta(String dataFormat, KeyValueSet propertySet);  TableMeta(TableProto proto); String getDataFormat(); void setPropertySet(KeyValueSet options); KeyValueSet getPropertySet(); void putProperty(String key, String val); boolean containsProperty(String key); String getProperty(String key); String getProperty(String key, String defaultValue); 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() { TableMeta meta2 = CatalogUtil.newTableMeta(BuiltinStorages.TEXT, conf); assertTrue(meta.equals(meta2)); assertNotSame(meta, meta2); }