@Override
 public void store(TaskCacheKey key, TaskOutputWriter result) throws IOException {
   File file = getFile(key.getHashCode());
   OutputStream output = new FileOutputStream(file);
   try {
     result.writeTo(output);
   } finally {
     output.close();
   }
 }
 @Override
 public boolean load(TaskCacheKey key, TaskOutputReader reader) throws IOException {
   final File file = getFile(key.getHashCode());
   if (file.isFile()) {
     FileInputStream stream = new FileInputStream(file);
     try {
       reader.readFrom(stream);
       return true;
     } finally {
       stream.close();
     }
   }
   return false;
 }