docs: public Uploader startUploadFile(String targetPath, DbxWriteMode writeMode, long numBytes)
          throws DbxException
      {
          if (numBytes < 0) {
              if (numBytes != -1) {
                  throw new IllegalArgumentException("numBytes must be -1 or greater; given " + numBytes);
              }
              // If the number of bytes isn't given in advance, use chunked uploads.
              return startUploadFileChunked(targetPath, writeMode, numBytes);
          }
          else if (numBytes > ChunkedUploadThreshold) {
              // If the number of bytes is more than some threshold, use chunked uploads.
              return startUploadFileChunked(targetPath, writeMode, numBytes);
          }
          else {
              // Otherwise, use the regular /files_put upload.
              return startUploadFileSingle(targetPath, writeMode, numBytes);
          }
      }