public override NamespaceDeclaration UpdateMembers(List<INamespaceDeclarationMember> members, ISourceDocumentEdit edit)
   //^^ requires edit.SourceDocumentAfterEdit.IsUpdatedVersionOf(this.SourceLocation.SourceDocument);
   //^^ ensures result.GetType() == this.GetType();
 {
   SpecSharpRootNamespaceDeclaration result = new SpecSharpRootNamespaceDeclaration(edit.SourceDocumentAfterEdit.GetCorrespondingSourceLocation(this.SourceLocation));
   result.members = members;
   result.isInitialized = true;
   result.compilationPart = this.CompilationPart.UpdateRootNamespace(result);
   return result;
 }
        public override NamespaceDeclaration UpdateMembers(List <INamespaceDeclarationMember> members, ISourceDocumentEdit edit)
        //^^ requires edit.SourceDocumentAfterEdit.IsUpdatedVersionOf(this.SourceLocation.SourceDocument);
        //^^ ensures result.GetType() == this.GetType();
        {
            SpecSharpRootNamespaceDeclaration result = new SpecSharpRootNamespaceDeclaration(edit.SourceDocumentAfterEdit.GetCorrespondingSourceLocation(this.SourceLocation));

            result.members         = members;
            result.isInitialized   = true;
            result.compilationPart = this.CompilationPart.UpdateRootNamespace(result);
            return(result);
        }