         }
         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)
     }

        }
    }

    // MARK: - Init

    /// Initializes the target dependency with dependencies as objects.

        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))
