docs: public void downloadRange(OutputStream output, long rangeStart, long rangeEnd, ProgressListener listener) {
          URL url = CONTENT_URL_TEMPLATE.build(this.getAPI().getBaseURL(), this.getID());
          BoxAPIRequest request = new BoxAPIRequest(this.getAPI(), url, "GET");
          if (rangeEnd > 0) {
              request.addHeader("Range", String.format("bytes=%s-%s", Long.toString(rangeStart),
                      Long.toString(rangeEnd)));
          } else {
              request.addHeader("Range", String.format("bytes=%s-", Long.toString(rangeStart)));
          }
  
          BoxAPIResponse response = request.send();
          InputStream input = response.getBody(listener);
  
          byte[] buffer = new byte[BUFFER_SIZE];
          try {
              int n = input.read(buffer);
              while (n != -1) {
                  output.write(buffer, 0, n);
                  n = input.read(buffer);
              }
          } catch (IOException e) {
              throw new BoxAPIException("Couldn't connect to the Box API due to a network error.", e);
          } finally {
              response.disconnect();
          }
      }