/// <summary>
            /// Visits a serviceDocument item.
            /// </summary>
            /// <param name="serviceDocument">The serviceDocument item to visit.</param>
            /// <returns>An ODataPayloadElement representing a service document enclosing the serviceDocument.</returns>
            protected override ODataPayloadElement VisitWorkspace(ODataServiceDocument serviceDocument)
            {
                ExceptionUtilities.CheckArgumentNotNull(serviceDocument, "serviceDocument");

                ServiceDocumentInstance wrappingServiceDocumentInstance = (ServiceDocumentInstance)base.VisitWorkspace(serviceDocument);

                WorkspaceInstance workspaceInstance = wrappingServiceDocumentInstance.Workspaces.Single();
                AtomWorkspaceMetadata atomMetadata = serviceDocument.GetAnnotation<AtomWorkspaceMetadata>();
                if (atomMetadata != null)
                {
                    if (atomMetadata.Title != null)
                    {
                        workspaceInstance.Title = atomMetadata.Title.Text;
                        workspaceInstance.AtomTitle(atomMetadata.Title.Text, ToString(atomMetadata.Title.Kind));
                    }
                }

                return wrappingServiceDocumentInstance;
            }
 /// <summary>
 /// Visits a service document.
 /// </summary>
 /// <param name="serviceDocument">The service document to visit.</param>
 protected override void VisitServiceDocument(ODataServiceDocument serviceDocument)
 {
     this.VisitAtomMetadata(serviceDocument.GetAnnotation<AtomWorkspaceMetadata>());
     base.VisitServiceDocument(serviceDocument);
 }