@SuppressWarnings("unchecked")
    public <T> T getUserData(String key) {
        if (userData == null) {
            return null;
        }

        Savable s = userData.get(key);
        if (s instanceof UserData) {
            return (T) ((UserData) s).getValue();
        } else {
            return (T) s;
        }
    }
Called internally by com.jme3.util.clone.Cloner.  Do not call directly.
jme3-core/src/main/java/com/jme3/scene/Spatial.java