code: public final void reset()
    {
  
      m_lastChunk = 0;
      m_firstFree = 0;
  
      // Recover the original chunk size
      FastStringBuffer innermost = this;
  
      while (innermost.m_innerFSB != null)
      {
        innermost = innermost.m_innerFSB;
      }
  
      m_chunkBits = innermost.m_chunkBits;
      m_chunkSize = innermost.m_chunkSize;
      m_chunkMask = innermost.m_chunkMask;
  
      // Discard the hierarchy
      m_innerFSB = null;
      m_array = new char[16][0];
      m_array[0] = new char[m_chunkSize];
    }
docs: Discard the content of the FastStringBuffer, and most of the memory
  that was allocated by it, restoring the initial state. Note that this
  may eventually be different from setLength(0), which see.