@Override
    public void close() throws IOException {
      cachedData.remove(resourceName);
      synchronized (writeLock) {
        super.close();
      }
      CachedFileData fd = getFileData(resourceName);
      synchronized (fd) {
        if (modTime > 0) fd.setLastModified(modTime);
        else fd.getLastModified();
        fd.checksum = getChecksum();
      }

      if (propSupport != null)
        propSupport.firePropertyChange(resourceName, null, ADDED_OR_MODIFIED);
    }
 public Long getChecksum(String resourceName) {
   CachedFileData fd = getFileData(resourceName);
   return (fd == null ? null : fd.getChecksum());
 }
 public long getLastModified(String resourceName) {
   CachedFileData fd = getFileData(resourceName);
   return (fd == null ? 0 : fd.getLastModified());
 }