in src/main/java/com/twitter/nodes/Node.java [168:180]
protected Node(@Nullable String name,
boolean optional,
Map<Enum, Node> dependentNodesByName,
Collection<Node> sinkNodes) {
this.name = name != null && !name.isEmpty() ? name : this.getClass().getSimpleName();
this.optional = optional;
// dependent node map could be empty if the default constructor is called, this happens in
// Builder.build(Class), where dependent node map is set later.
this.dependentNodesByName = dependentNodesByName.isEmpty()
? ImmutableMap.<Enum, Node>of()
: addOptionalDeps(dependentNodesByName);
this.sinkNodes = ImmutableList.copyOf(sinkNodes);
}