/// <summary>
 /// Updates a PRIM to match the given <paramref name="specification"/>.
 /// <param name="prim">A PRIM.</param>
 /// <param name="specification">A new specification for the given PRIM.</param>
 /// <returns>The updated PRIM. Depending on the implementation, this might be the same updated instance or a new instance!</returns>
 /// </summary>
 public IPrim UpdatePrim(IPrim prim, PrimSpec specification)
 {
     return(new UpccPrim(UmlPackage.UpdateDataType(((UpccPrim)prim).UmlDataType, PrimSpecConverter.Convert(specification))));
 }
 /// <summary>
 /// Updates a IDSCHEME to match the given <paramref name="specification"/>.
 /// <param name="idScheme">A IDSCHEME.</param>
 /// <param name="specification">A new specification for the given IDSCHEME.</param>
 /// <returns>The updated IDSCHEME. Depending on the implementation, this might be the same updated instance or a new instance!</returns>
 /// </summary>
 public IIdScheme UpdateIdScheme(IIdScheme idScheme, IdSchemeSpec specification)
 {
     return(new UpccIdScheme(UmlPackage.UpdateDataType(((UpccIdScheme)idScheme).UmlDataType, IdSchemeSpecConverter.Convert(specification))));
 }