code: public CopyObjectRequest withMetadataDirective(MetadataDirective metadataDirective) {
          return withMetadataDirective(metadataDirective == null ? null : metadataDirective.toString());
      }
docs: Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.
  
  @param metadataDirective New value for the metadata directive.
  @return Returns a reference to this object so that method calls can be chained together.