// Resource /////////////////////////////////////////////////////////
        public IPrimaryResourceBuilder <TResource> Resource <TResource>(TResource clrResource)
            where TResource : class, IResource
        {
            var primaryResourceBuilder = new PrimaryResourceBuilder <TResource>(this, this.DomDocument, clrResource);

            return(primaryResourceBuilder);
        }
        public IPrimaryResourceBuilder <TResource> Resource <TResource>(IResourceSource <TResource> resourceSource)
            where TResource : class, IResource
        {
            Contract.Requires(resourceSource != null);

            var clrResource            = resourceSource.GetResource();
            var primaryResourceBuilder = new PrimaryResourceBuilder <TResource>(this, this.DomDocument, clrResource);

            return(primaryResourceBuilder);
        }