docs: public final Buffer limit (int newLimit) {
          if (newLimit < 0 || newLimit > capacity) {
              throw new IllegalArgumentException();
          }
  
          limit = newLimit;
          if (position > newLimit) {
              position = newLimit;
          }
          if ((mark != UNSET_MARK) && (mark > newLimit)) {
              mark = UNSET_MARK;
          }
          return this;
      }