Relax contract of Node.getChildren()
This is to allow classes implementing `Node.getChildren()` method to return
their internal (immutable) `List<SomeSubclassOfNode>` without copying,
unchecked cast or trip to `ImmutableList.copyOf()`.
@@ -40,7 +40,7 @@ public abstract class Node
return location;
}
- public abstract List<Node> getChildren();
+ public abstract List<? extends Node> getChildren();
// Force subclasses to have a proper equals and hashcode implementation
@Override
