/*
  * (non-Javadoc)
  *
  * @see org.abstracthorizon.proximity.storage.Storage#retrieveItem(java.lang.String, boolean)
  */
 public Item retrieveItem(String path, boolean propsOnly)
     throws ItemNotFoundException, StorageException {
   logger.debug("Retrieving {} from storage directory {}", path, getStorageBaseDir());
   try {
     ItemProperties properties = loadItemProperties(path);
     Item result = new Item();
     result.setProperties(properties);
     if (!propsOnly) {
       File target = new File(getStorageBaseDir(), path);
       if (target.isFile()) {
         result.setStream(new LazyFileInputStream(target));
         properties.setSize(target.length());
         properties.setLastModified(new Date(target.lastModified()));
       }
     }
     return result;
   } catch (FileNotFoundException ex) {
     throw new ItemNotFoundException(
         "FileNotFound in FS storage [" + getStorageBaseDir() + "] for path [" + path + "]");
   }
 }