code: func NewReferenceManifestBuilder(pk libtrust.PrivateKey, ref reference.Named, architecture string) distribution.ManifestBuilder {
  	tag := ""
  	if tagged, isTagged := ref.(reference.Tagged); isTagged {
  		tag = tagged.Tag()
  	}
  
  	return &referenceManifestBuilder{
  		Manifest: Manifest{
  			Versioned: manifest.Versioned{
  				SchemaVersion: 1,
  			},
  			Name:         ref.Name(),
  			Tag:          tag,
  			Architecture: architecture,
  		},
  		pk: pk,
  	}
  }
docs: // NewReferenceManifestBuilder is used to build new manifests for the current
  // schema version using schema1 dependencies.