code: public InputStream getBody(ProgressListener listener) throws BoxException {
          if (this.mInputStream == null) {
              String contentEncoding = mConnection.getContentEncoding();
              try {
                  if (this.rawInputStream == null) {
                      this.rawInputStream = mConnection.getInputStream();
                  }
  
                  if (listener == null) {
                      this.mInputStream = this.rawInputStream;
                  } else {
                      this.mInputStream = new ProgressInputStream(this.rawInputStream, listener,
                              this.getContentLength());
                  }
  
                  if (contentEncoding != null && contentEncoding.equalsIgnoreCase("gzip")) {
                      this.mInputStream = new GZIPInputStream(this.mInputStream);
                  }
                  return mInputStream;
              } catch (IOException e) {
                  throw new BoxException("Couldn't connect to the Box API due to a network error.", e);
              }
          }
  
          return this.mInputStream;
      }
docs: Gets an InputStream for reading this response's body which will report its read progress to a ProgressListener.
  @param  listener a listener for monitoring the read progress of the body.
  @return an InputStream for reading the response's body.
  @throws BoxException thrown if there was an issue getting the body including network issues.