/// <summary>
/// Creates a copy of the structure in the designated dictionary. The namespace structure is copied over.
/// The new structure is set to update this one.
/// </summary>
/// <param name="dictionary">The target dictionary of the copy</param>
/// <returns></returns>
public Structure CreateStructureUpdate(Dictionary dictionary)
{
Structure retVal = (Structure)acceptor.getFactory().createStructure();
retVal.Name = Name;
retVal.Comment = Comment;
retVal.IsAbstract = IsAbstract;
retVal.SetUpdateInformation(this);
String[] names = FullName.Split('.');
names = names.Take(names.Count() - 1).ToArray();
NameSpace nameSpace = dictionary.GetNameSpaceUpdate(names, Dictionary);
nameSpace.appendStructures(retVal);
return(retVal);
}