code: function _findDistributionRoot(element) {
      var root = element.shadyRoot;
      while (element && this._elementNeedsDistribution(element)) {
        root = element.getRootNode();
        element = root && root.host;
      }
      return root;
    }
docs: TODO(sorvell): this may not return a shadowRoot (for example if the element is in a docFragment) this should only return a shadowRoot. returns the host that's the top of this host's distribution tree