code: public static HttpURLConnection create(final URI uri, final RequestOptions options, UriQueryBuilder builder,
              final OperationContext opContext) throws IOException, URISyntaxException, StorageException {
          if (builder == null) {
              builder = new UriQueryBuilder();
          }
  
          final HttpURLConnection retConnection = createURLConnection(uri, options, builder, opContext);
          retConnection.setFixedLengthStreamingMode(0);
          retConnection.setDoOutput(true);
          retConnection.setRequestMethod(Constants.HTTP_PUT);
  
          return retConnection;
      }
docs: Creates the specified resource. Note request is set to setFixedLengthStreamingMode(0); Sign with 0 length.
  
  @param uri
  the request Uri.
  @param options
  A {@link RequestOptions} object that specifies execution options such as retry policy and timeout
  settings for the operation.
  @param builder
  the UriQueryBuilder for the request
  @param opContext
  an object used to track the execution of the operation
  
  @return a HttpURLConnection to perform the operation.
  @throws IOException
  if there is an error opening the connection
  @throws URISyntaxException
  if there is an improperly formated URI
  @throws StorageException
  @throws IllegalArgumentException