code: public void resetWithShared(char[] buf, int start, int len)
      {
          // Let's first mark things we need about input buffer
          mInputBuffer = buf;
          mInputStart = start;
          mInputLen = len;
  
          // Then clear intermediate values, if any:
          mResultString = null;
          mResultArray = null;
  
          // And then reset internal input buffers, if necessary:
          if (mHasSegments) {
              clearSegments();
          }
      }
docs: Method called to initialize the buffer with a shared copy of data;
  this means that buffer will just have pointers to actual data. It
  also means that if anything is to be appended to the buffer, it
  will first have to unshare it (make a local copy).