docs: protected final int rawGet(boolean discard)
      {
          int pos;
          if (hasRemaining())
          {
              if (discard)
              {
                  mark = position;
                  marked = 1;
              }
              else
              {
                  marked++;
              }
              pos = position;
              position = (position+1) % capacity;
              remaining--;
              updated();
              return pos;
          }
          else
          {
              throw new BufferUnderflowException();
          }
      }