code: function(template) {
        if (template) {
          // make a shadow root
          var root = this.createShadowRoot();
          // stamp template
          // which includes parsing and applying MDV bindings before being
          // inserted (to avoid {{}} in attribute values)
          // e.g. to prevent <img src="images/{{icon}}"> from generating a 404.
          var dom = this.instanceTemplate(template);
          // append to shadow dom
          root.appendChild(dom);
          // perform post-construction initialization tasks on shadow root
          this.shadowRootReady(root, template);
          // return the created shadow root
          return root;
        }
      }
docs: Create a shadow-root in this host and stamp `template` as it's
  content.
  
  An element may override this method for custom behavior.
  
  @method shadowFromTemplate