//Get one generic resource in handle that implements ILoadable and load it in handle public T getResource <T>() where T : class, ILoadable, new() { if (key == "") { return(null); } //If the resource hasn't been loaded yet, load it if (resource == null) { resource = new T(); resource.load(rc, fullPath); rc.addResource(this); } //Tell the resource component that we used this handle so that it doesn't get prematurely bumped from the cache rc.updateLRU(this); return((T)resource); }