@Override
  public int read(final ByteBuffer target,
                  final long offset) throws IOException {
    final int bufferPos = target.position();
    return fileChannelHandle.retryIfInterrupted(ch -> {
      target.position(bufferPos);
      return ch.read(target, offset);
    });
  }
@Override
  public int read(final ByteBuffer target,
                  final long offset)