@Test
public void getArray() {

    AbstractNode<N> node = parentWithChildArray("A", "B", "C");
    List<String> values = ((List<AbstractNode<N>>) node.getArray("child").getArrayValues()).stream().map
            (AbstractNode::getAsString).collect(Collectors.toList());
    assertThat(values).containsExactly("A", "B", "C");
    assertThat(node.getArray("unknownChild", null)).isNull();
    @SuppressWarnings("unchecked") N def = (N) stringArrayNode();
    assertThat(node.getArray("unknownChild", def)).isSameAs(def);
}