code: private byte[] readBody(int contentLength) throws IOException {
          // Read directly into an array but keep reading until we get it all.
          byte[] buffer = new byte[contentLength];
          int bytesLeft = contentLength;
          int offset = 0;
          while (bytesLeft > 0) {
              int bytesGot = m_inStream.read(buffer, offset, bytesLeft);
              bytesLeft -= bytesGot;
              offset += bytesGot;
          }
          return buffer;
      }
docs: a byte[].