code: function FilteredElementList(root, filter) {
    this.root = root;
    this.filter = filter;
    this.lastModTime = root.lastModTime;
    this.done = false;
    this.cache = [];
    this.traverse();
  }
docs: This file defines node list implementation that lazily traverses the document tree (or a subtree rooted at any element) and includes only those elements for which a specified filter function returns true. It is used to implement the {Document,Element}.getElementsBy{TagName,ClassName}{,NS} methods.  XXX this should inherit from NodeList