code: @Override
      public void mark(int _) {
          abortIfNeeded();
          try {
              markPos = fileChannel.position();
          } catch (IOException e) {
              throw new SdkClientException("Failed to mark the file position", e);
          }
          if (log.isTraceEnabled())
              log.trace("File input stream marked at position " + markPos);
      }
docs: Marks the current position in this input stream. A subsequent call to
  the <code>reset</code> method repositions this stream at the last marked
  position so that subsequent reads re-read the same bytes.
  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.
  
  @param _
  ignored