@Override
 protected U _reAdapt(V value) throws UnsupportedOperationException {
   if (write != null) return write.adapt(value);
   throw new UnsupportedOperationException(
       "No cached value available for reverse-operation value " + value);
 }
  public String getLibrary(String elementFile) {
    if (elementFile == null) return libraryForElementsInNullFile;

    return fileToLibrary == null ? defaultLibrary : fileToLibrary.adapt(new File(elementFile));
  }
 @Override
 protected V _adapt(U value) throws UnsupportedOperationException {
   if (read != null) return read.adapt(value);
   throw new UnsupportedOperationException(
       "No cached value available for reverse-operation value " + value);
 }