code: public char[] getCurrentSegment()
      {
          /* Since the intention of the caller is to directly add stuff into
           * buffers, we should NOT have anything in shared buffer... ie. may
           * need to unshare contents.
           */
          if (mInputStart >= 0) {
              unshare(1);
          } else {
              char[] curr = mCurrentSegment;
              if (curr == null) {
                  mCurrentSegment = allocBuffer(0);
              } else if (mCurrentSize >= curr.length) {
                  // Plus, we better have room for at least one more char
                  expand(1);
              }
          }
          return mCurrentSegment;
      }
docs: /*
  ////////////////////////////////////////////
  Raw access, for high-performance use:
  ////////////////////////////////////////////