         if let targetProxyReference = targetProxyReference {
             dictionary["targetProxy"] = .string(CommentedString(targetProxyReference.value, comment: "PBXContainerItemProxy"))
         }
+        if let productReference = productReference {
+            dictionary["productRef"] = .string(CommentedString(productReference.value, comment: product?.productName))
+        }
         return (key: CommentedString(reference,
                                      comment: "PBXTargetDependency"),
                 value: .dictionary(dictionary))

        case name
        case target
        case targetProxy
    }

    public required init(from decoder: Decoder) throws {

        }
        if let targetProxyReference: String = try container.decodeIfPresent(.targetProxy) {
            self.targetProxyReference = referenceRepository.getOrCreate(reference: targetProxyReference, objects: objects)
        }
        if let productReference: String = try container.decodeIfPresent(.productRef) {
            self.productReference = referenceRepository.getOrCreate(reference: productReference, objects: objects)
        }
        try super.init(from: decoder)
    }
