if(getResourceLoaderCache().containsResource(resourceName, libraryName, contentType, localePrefix))
{
ResourceValue resourceValue = getResourceLoaderCache().getResource(
resourceName, libraryName, contentType, localePrefix);
resource = new ResourceImpl(resourceValue.getResourceMeta(), resourceValue.getResourceLoader(),
getResourceHandlerSupport(), contentType);
}
else
{
for (ResourceLoader loader : getResourceHandlerSupport().getResourceLoaders())
{
ResourceMeta resourceMeta = deriveResourceMeta(loader, resourceName, libraryName, localePrefix);
if (resourceMeta != null)
{
resource = new ResourceImpl(resourceMeta, loader, getResourceHandlerSupport(), contentType);
// cache it
getResourceLoaderCache().putResource(resourceName, libraryName, contentType,
localePrefix, resourceMeta, loader);
break;