code: private T loadFileValue(final File file)
  	{
  		final boolean reload;
  
  		// First time / first time with this file
  		if (cached == null || lastFile == null || lastFileModified == null || !lastFile.equals(file))
  		{
  			lastFile = file;
  			lastFileModified = file.lastModified();
  			reload = true;
  		}
  		else // Same file, so check timestamp to decide on reload
  		{
  			final long modified = file.lastModified();
  
  			reload = modified > lastFileModified;
  
  			if (reload)
  				lastFileModified = modified;
  		}
  
  		if (reload)
  		{
  			cached = null; // Prevent the old value from being used
  
  			setCached(clazz.cast(factory.getInstance(clazz).deserialise(file)));
  		}
  
  		return cached;
  	}
docs: Load from a file.
  <p><b>This loader is cache-aware and will only reload if the file's last modified timestamp changes</b></p>
  
  @param file
  
  @return