@@ -0,0 +1,483 @@
+package org.smoothbuild.util;%0A%0Aimport java.util.List;%0A%0Aimport com.google.common.collect.ImmutableList;%0A%0Apublic class Dag%3CT%3E %7B%0A  private final T elem;%0A  private final List%3CDag%3CT%3E%3E children;%0A%0A  public Dag(T elem) %7B%0A    this(elem, ImmutableList.of());%0A  %7D%0A%0A  public Dag(T elem, List%3CDag%3CT%3E%3E children) %7B%0A    this.elem = elem;%0A    this.children = ImmutableList.copyOf(children);%0A  %7D%0A%0A  public T elem() %7B%0A    return elem;%0A  %7D%0A%0A  public List%3CDag%3CT%3E%3E children() %7B%0A    return children;%0A  %7D%0A%7D%0A

add Dag