@Override
    @SuppressWarnings("unchecked")
    public AssetKey<T> clone() {
        try {
            return (AssetKey<T>) super.clone();
        } catch (CloneNotSupportedException ex) {
            throw new AssertionError();
        }
    }
<code>AssetKey</code> is a key that is used to
look up a resource from a cache.
This class should be immutable.
jme3-core/src/main/java/com/jme3/asset/AssetKey.java