/// <summary>
 /// Updates a BDTLibrary to match the given <paramref name="specification"/>.
 /// <param name="bdtLibrary">A BDTLibrary.</param>
 /// <param name="specification">A new specification for the given BDTLibrary.</param>
 /// <returns>The updated BDTLibrary. Depending on the implementation, this might be the same updated instance or a new instance!</returns>
 /// </summary>
 public IBdtLibrary UpdateBdtLibrary(IBdtLibrary bdtLibrary, BdtLibrarySpec specification)
 {
     return(new UpccBdtLibrary(UmlPackage.UpdatePackage(((UpccBdtLibrary)bdtLibrary).UmlPackage, BdtLibrarySpecConverter.Convert(specification))));
 }
 /// <summary>
 /// Creates a BDTLibrary based on the given <paramref name="specification"/>.
 /// <param name="specification">A specification for a BDTLibrary.</param>
 /// <returns>The newly created BDTLibrary.</returns>
 /// </summary>
 public IBdtLibrary CreateBdtLibrary(BdtLibrarySpec specification)
 {
     return(new UpccBdtLibrary(UmlPackage.CreatePackage(BdtLibrarySpecConverter.Convert(specification))));
 }