code: public ReadStream openRead()
      throws IOException
    {
      if (_isDone)
        return null;
      else if (_readStream == null)
        _readStream = new ReadStream(this);
      else if (!_isPartDone) {
        int len;
        while ((len = read(_dummyBuffer, 0, _dummyBuffer.length)) >= 0) {
        }
  
        if (_isDone)
          return null;
      }
  
      _readStream.init(this);
  
      _isPartDone = false;
  
      if (scanHeaders()) {
        String contentType = (String) getAttribute("content-type");
  
        String charset = getAttributePart(contentType, "charset");
  
        // FIXME: 2016-05-14 
  /*
        if (charset != null)
          _readStream.setEncoding(charset);
        else if (_defaultEncoding != null)
          _readStream.setEncoding(_defaultEncoding);
  */
  
        return _readStream;
      }
      else {
        _isDone = true;
        _readStream.close();
        return null;
      }
    }
docs: Opens the next part of the multipart/mime stream for reading.  Returns
  null when the last section is read.