question: public Object clone ( ) { TableDefinition clone = ( TableDefinition ) super . clone ( ) ; if ( fields != null ) { clone . setFields ( new ArrayList < FieldDefinition > ( fields . size ( ) ) ) ; for ( FieldDefinition fieldDef : getFields ( ) ) { clone . addField ( ( FieldDefinition ) fieldDef . clone ( ) ) ; } } if ( foreignKeyMap != null ) { clone . setForeignKeyMap ( new HashMap ( this . foreignKeyMap ) ) ; } if ( uniqueKeys != null ) { clone . setUniqueKeys ( new ArrayList ( this . uniqueKeys ) ) ; } return clone ; }
target:  PUBLIC: Performs a deep copy of this table definition.