code: def produceResource(self, request, segments, webViewer):
          
          mantissaSite = self.publicSiteRoot
          if mantissaSite is not None:
              for resource, domain in userbase.getAccountNames(self.store):
                  username = '%s@%s' % (resource, domain)
                  break
              else:
                  username = None
              bottomResource, newSegments = mantissaSite.siteProduceResource(
                  request, segments, webViewer)
              return (_CustomizingResource(bottomResource, username), newSegments)
          return None
docs: Produce a resource that traverses site-wide content, passing down the
          given webViewer.  This delegates to the site store's
          L{IMantissaSite} adapter, to avoid a conflict with the
          L{ISiteRootPlugin} interface.
  
          This method will typically be given an L{_AuthenticatedWebViewer}, which
          can build an appropriate resource for an authenticated shell page,
          whereas the site store's L{IWebViewer} adapter would show an anonymous
          page.
  
          The result of this method will be a L{_CustomizingResource}, to provide
          support for resources which may provide L{ICustomizable}.  Note that
          Mantissa itself no longer implements L{ICustomizable} anywhere, though.
          All application code should phase out inspecting the string passed to
          ICustomizable in favor of getting more structured information from the
          L{IWebViewer}.  However, it has not been deprecated yet because
          the interface which allows application code to easily access the
          L{IWebViewer} from view code has not yet been developed; it is
          forthcoming.
  
          See ticket #2707 for progress on this.