private void dfsVisit(Vertice u) {
    u.setColor(VerticeColor.GREY);
    this.tempo++;
    u.setInitialTime(this.tempo);
    if (u.getAdjacentes() != null) {
      for (Vertice adjacente : u.getAdjacentes()) {
        if (adjacente.getColor().equals(VerticeColor.WHITE)) {

          // TODO Verificar sobre vértices pais
          adjacente.setFather(u);
          dfsVisit(adjacente);
        }
      }
    }

    u.setColor(VerticeColor.BLACK);
    this.tempo++;
    u.setFinalTime(this.tempo);
    outVertices.add(u);
  }
 private void init() {
   List<Vertice> vertices = grafo.getVertices();
   for (Vertice v : vertices) {
     v.setColor(VerticeColor.WHITE);
   }
 }