         case name
         case target
         case targetProxy
+        case productRef
     }
 
     public required init(from decoder: Decoder) throws {

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

        }
    }

    /// Product reference.
    var productReference: PBXObjectReference?

    /// Product.
    public var product: XCSwiftPackageProductDependency? {
        get {
            return productReference?.getObject()
        }
        set {
            productReference = newValue?.reference
        }
    }

    // MARK: - Init

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