code: public CDownloadRequest setRange( long offset, long length )
      {
          if ( length == 0 ) {
              // Indicate we want to download 0 bytes ?! We ignore such specification
              length = -1;
          }
          if ( offset < 0 && length < 0 ) {
              byteRange = null;
          } else {
              byteRange = new ByteRange( offset, length );
          }
          return this;
      }
docs: Defines a range for partial content download. Note that second parameter is a length, not an offset (this differs
  from http header Range header raw value).
  <ul>
  <li>(-1, -1) = default : download full blob.</li>
  <li>(10, -1) = download, starting at offset 10</li>
  <li>(-1, 10) = download last 10 bytes</li>
  <li>(10, 100) = download 100 bytes, starting at offset 10.</li>
  </ul>
  
  @param offset The start offset to download the file, or &lt;0 for downloading only end of file
  @param length (never 0) The data length to download, or &lt;0 for downloading up to end of file
  @return This download request