summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/data/Tree.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/data/Tree.java')
-rw-r--r--src/main/java/bjc/data/Tree.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/bjc/data/Tree.java b/src/main/java/bjc/data/Tree.java
index 9a4caa6..5337af5 100644
--- a/src/main/java/bjc/data/Tree.java
+++ b/src/main/java/bjc/data/Tree.java
@@ -227,9 +227,6 @@ public class Tree<ContainedType> implements ITree<ContainedType> {
/*
* Do a collapse of this tree.
- *
- * @NOTE Why is this protected? I can't see any good reason someone'd want to
- * override it.
*/
private <NewType> NewType internalCollapse(
@@ -381,6 +378,16 @@ public class Tree<ContainedType> implements ITree<ContainedType> {
}
@Override
+ public ITree<ContainedType> getChild(final int childNo) {
+ if (childNo < 0 || childNo > childCount - 1) {
+ final String msg = String.format("Child index #%d is invalid", childNo);
+
+ throw new IllegalArgumentException(msg);
+ }
+ return children.getByIndex(childNo);
+ }
+
+ @Override
public <TransformedType> TransformedType
transformHead(final Function<ContainedType, TransformedType> transformer) {
return transformer.apply(data);