internal static ProductElement GetOwner(Reference element)
		{
			return DslModeling::DomainRoleInfo.GetLinkedElement(element, ReferenceDomainRoleId) as ProductElement;
		}
		internal static void SetOwner(Reference element, ProductElement newProductElement)
		{
			DslModeling::DomainRoleInfo.SetLinkedElement(element, ReferenceDomainRoleId, newProductElement);
		}
		/// <summary>
		/// Constructor
		/// Creates a ProductElementHasReferences link in the same Partition as the given ProductElement
		/// </summary>
		/// <param name="source">ProductElement to use as the source of the relationship.</param>
		/// <param name="target">Reference to use as the target of the relationship.</param>
		internal ProductElementHasReferences(ProductElement source, Reference target)
			: base((source != null ? source.Partition : null), new DslModeling::RoleAssignment[]{new DslModeling::RoleAssignment(ProductElementHasReferences.ProductElementDomainRoleId, source), new DslModeling::RoleAssignment(ProductElementHasReferences.ReferenceDomainRoleId, target)}, null)
		{
		}