docs: private int growBuffer(int offset)
      {
          assert offset < 0;
          byte[] oldBuf = myBuffer;
          int oldLen = oldBuf.length;
          byte[] newBuf = new byte[(-offset + oldLen) << 1]; // Double the buffer
          int oldBegin = newBuf.length - oldLen;
          System.arraycopy(oldBuf, 0, newBuf, oldBegin, oldLen);
          myBuffer = newBuf;
          myOffset += oldBegin;
          return offset + oldBegin;
      }