static getDFSTraversal(node, n) {
    var res = [];

    var dfs = (node) => {
      if (n && res.length >= n) return;
      res.push(node);
      NodeUtils.getChildren(node).forEach(dfs);
    };

    dfs(node);

    return res.slice(0, n);
  }
Returns an array of nodes in the passed AST, traversed using DFS. Accepts
an optional maximum number, n, of nodes to return. The returned array
always begins with the root node.

@param   {Node}   node The root node of the AST to traverse
@param   {int}    [n]  Optional max number of nodes to return
@returns {Node[]}