code: @Override
      public void reset() throws IOException {
          abortIfNeeded();
          fileChannel.position(markPos);
          if (log.isTraceEnabled())
              log.trace("Reset to position " + markPos);
      }
docs: Repositions this stream to the position at the time the
  <code>mark</code> method was last called on this input stream.
  This method works as long as the underlying file has not been closed.
  <p>
  Note the creation of a {@link ResettableInputStream} would entail
  physically opening a file. If the opened file is meant to be closed only
  (in a finally block) by the very same code block that created it, then it
  is necessary that the release method must not be called while the
  execution is made in other stack frames.
  
  In such case, as other stack frames may inadvertently or indirectly call
  the close method of the stream, the creator of the stream would need to
  explicitly disable the accidental closing via
  {@link ResettableInputStream#disableClose()}, so that the release method
  becomes the only way to truly close the opened file.