### Question:
IndexDesc implements ProtoObject<IndexDescProto>, Cloneable { @Override public IndexDescProto getProto() { if (builder == null) { builder = IndexDescProto.newBuilder(); } builder.setName(this.name); builder.setTableId(this.tableId); builder.setColumn(this.column.getProto()); builder.setIndexMethod(indexMethod); builder.setIsUnique(this.isUnique); builder.setIsClustered(this.isClustered); builder.setIsAscending(this.isAscending); return builder.build(); } IndexDesc();  IndexDesc(String name, String tableId, Column column, IndexMethod type,
      boolean isUnique, boolean isClustered, boolean isAscending);  IndexDesc(IndexDescProto proto); String getName(); String getTableId(); Column getColumn(); IndexMethod getIndexMethod(); boolean isClustered(); boolean isUnique(); boolean isAscending(); @Override IndexDescProto getProto(); boolean equals(Object obj); int hashCode(); Object clone(); String toString();  }### Answer:
@Test public void testIndexDescProto() { IndexDescProto proto = desc1.getProto(); assertEquals(desc1.getProto(), proto); assertEquals(desc1, new IndexDesc(proto)); }