code: WritableByteChannel createInternal(URI path, CreateFileOptions options)
        throws IOException {
  
      // Validate the given path. false == do not allow empty object name.
      StorageResourceId resourceId = pathCodec.validatePathAndGetId(path, false);
      if (options.getExistingGenerationId() != StorageResourceId.UNKNOWN_GENERATION_ID) {
        resourceId = new StorageResourceId(
            resourceId.getBucketName(),
            resourceId.getObjectName(),
            options.getExistingGenerationId());
      }
      WritableByteChannel channel = gcs.create(resourceId, objectOptionsFromFileOptions(options));
      tryUpdateTimestampsForParentDirectories(ImmutableList.of(path), ImmutableList.<URI>of());
      return channel;
    }
docs: Creates and opens an object for writing.
  If the object already exists, it is deleted.
  
  @param path Object full path of the form gs://bucket/object-path.
  @return A channel for writing to the given object.
  @throws IOException