@classmethod<EOL><INDENT>def copyModel(mdl):<DEDENT>
copyNum = _modelCopyMap[mdl]<EOL>_modelCopyMap[mdl] += <NUM_LIT:1><EOL>mdlCopy = type(mdl.__name__ + '<STR_LIT>' + str(copyNum), mdl.__bases__, copy.deepcopy(dict(mdl.__dict__)))<EOL>mdlCopy.FIELDS = [field.copy() for field in mdl.FIELDS]<EOL>mdlCopy.INDEXED_FIELDS = [str(idxField) for idxField in mdl.INDEXED_FIELDS] <EOL>mdlCopy.validateModel()<EOL>return mdlCopy<EOL>
copyModel - Copy this model, and return that copy.

  The copied model will have all the same data, but will have a fresh instance of the FIELDS array and all members,
    and the INDEXED_FIELDS array.

  This is useful for converting, like changing field types or whatever, where you can load from one model and save into the other.

@return <IndexedRedisModel> - A copy class of this model class with a unique name.