protected ClosedArrayDataNode(
     Field field, RootHandle root, AbstractDataNode parent, List<?> values) {
   super(field, values);
   this.root = root;
   this.parent = parent;
   this.pathFromRoot = parent.getPathFromRoot().addLast(field.getId(), parent.getType().isArray());
 }
 protected ClosedPrimitiveDataNode(
     Field field, RootHandle root, AbstractDataNode parent, Object value) {
   super(field, value);
   this.root = root;
   this.parent = parent;
   this.pathFromRoot = parent.getPathFromRoot().addLast(field.getId(), parent.getType().isArray());
 }