@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);
    }