public <T> void setCloneFunction(Class<T> type, CloneFunction<T> function) {
        if (function == null) {
            functions.remove(type);
        } else {
            functions.put(type, function);
        }
    }
Sets a custom CloneFunction for implementations of the specified Java type.  Some
 inheritance checks are made but no disambiguation is performed.
 <p>Note: in the general case, it is better to register against specific classes and
 not super-classes or super-interfaces unless you know specifically that they are cloneable.</p>
 <p>By default ListCloneFunction is registered for ArrayList, LinkedList, CopyOnWriteArrayList,
 Vector, Stack, and JME's SafeArrayList.</p>

@param <T> the type of object to be cloned
@param type the type of object to be cloned
@param function the function to set, or null to cancel any previous
setting
jme3-core/src/main/java/com/jme3/util/clone/Cloner.java