@Override
    public SeekableByteChannel position(final long newPosition) throws IOException {
      doUninterruptibly(channel -> {
        channel.position(newPosition);
        return 0;
      });
      return this;
    }
Perform an operation on the file, reopening the file and redoing the operation if necessary
if we are interrupted in the middle of the operation
geode-core/src/main/java/org/apache/geode/internal/cache/persistence/UninterruptibleRandomAccessFile.java