code: function () {
                  var sel, e, elements = [], c, match, extend, extendList = [];
  
                  while ((extend = $(this.extend)) || (e = $(this.element))) {
                      if (extend) {
                          extendList.push.apply(extendList, extend);
                      } else {
                          if (extendList.length) {
                              error("Extend can only be used at the end of selector");
                          }
                          c = input.charAt(i);
                          elements.push(e)
                          e = null;
                      }
                      if (c === '{' || c === '}' || c === ';' || c === ',' || c === ')') { break }
                  }
  
                  if (elements.length > 0) { return new(tree.Selector)(elements, extendList); }
                  if (extendList.length) { error("Extend must be used to extend a selector, it cannot be used on its own"); }
              }
docs: A CSS Selector  .class > div + h1 li a:hover  Selectors are made out of one or more Elements, see above.