se;
  var path = path || [];

  while ($clause = clauses.nextNode()) {
    var rect = $clause.getBoundingClientRect();
    var $header = $clause.querySelector("h1");
    var marginTop = parseInt(getComputedStyle($header)["margin-top"]);

    if ((rect.top - marginTop) <= 0 && rect.bottom > 0) {
      return findActiveClause($clause, path.concat($clause)) || path;
    }
  }

  return path;
}

function ClauseWalker(root) {
  var previous;
  var treeWalker = document.createTreeWalker(
    root,
    NodeFilter.