- public void leafSetEntryNode(final Object value) throws IllegalArgumentException {
- Preconditions.checkArgument(getCurrent() instanceof ImmutableLeafSetNodeBuilder<?>);
- @SuppressWarnings("unchecked")
- ListNodeBuilder<Object, LeafSetEntryNode<Object>> builder = ((ImmutableLeafSetNodeBuilder<Object>) getCurrent());
- builder.withChildValue(value);
+ public void leafSetEntryNode(final QName name, final Object value) {
+ if (getCurrent() instanceof ImmutableOrderedLeafSetNodeBuilder) {
+ @SuppressWarnings("unchecked")
+ ListNodeBuilder<Object, LeafSetEntryNode<Object>> builder = ((ImmutableOrderedLeafSetNodeBuilder<Object>) getCurrent());
+ builder.withChildValue(value);
+ } else if (getCurrent() instanceof ImmutableLeafSetNodeBuilder) {
+ @SuppressWarnings("unchecked")
+ ListNodeBuilder<Object, LeafSetEntryNode<Object>> builder = ((ImmutableLeafSetNodeBuilder<Object>) getCurrent());
+ builder.withChildValue(value);
+ } else {
+ throw new IllegalArgumentException("LeafSetEntryNode is not valid for parent " + getCurrent());
+ }
+
+ nextSchema = null;