code: public int readBodyData () throws IOException
    {
      final InputStream aIS = createInputStream ();
      final byte [] aBuffer = new byte [8192];
      int nTotalBytesRead = 0;
      int nBytesRead;
      do
      {
        // Blocking read
        nBytesRead = aIS.read (aBuffer);
        if (nBytesRead > 0)
          nTotalBytesRead += nBytesRead;
      } while (nBytesRead >= 0);
      return nTotalBytesRead;
    }
docs: <p>
  Reads <code>body-data</code> from the current <code>encapsulation</code>
  and writes its contents into the output <code>Stream</code>.
  <p>
  Arbitrary large amounts of data can be processed by this method using a
  constant size buffer. (see
  {@link #MultipartStream(InputStream, byte[], int, MultipartProgressNotifier)}
  ).
  
  @return the amount of data read.
  @throws MultipartMalformedStreamException
  if the stream ends unexpectedly.
  @throws IOException
  if an i/o error occurs.