Object to be cloned.
Optional array of strings representing the fieldname to be ignored.
Optional boolean argument to specify if a shallow clone should be created, that is, one where all object references are not cloned or, in other words, one where only atomic (strings, numbers) values are cloned. Default is false.
Recursively clones the specified object ignoring all field names in the given array of transient fields. ObjectIdentity#FIELD_NAME is always ignored by this function.