docs: function(graph, id, action, flags) {
          var filter = this.filter(flags);
          this.clean(graph);
          var queue = [graph.getNode(id)];
          while(queue.length != 0) {
              var node = queue.pop();
              node._flag = true;
              action(node, node._depth);
              this.eachAdjacency(node, function(adj) {
                  var n = adj.nodeTo;
                  if(n._flag == false && filter(n)) {
                      n._flag = true;
                      queue.unshift(n);
                  }
              }, flags);
          }
      }