public UnorderedMapMixinNormalization(final ListSchemaNode list) {
   super(new NodeIdentifier(list.getQName()));
   this.innerNode =
       new ListItemNormalization(
           new NodeIdentifierWithPredicates(
               list.getQName(), Collections.<QName, Object>emptyMap()),
           list);
 }
  private void emitList(
      final StringBuilder b,
      final String getterName,
      final Type valueType,
      final ListSchemaNode child) {
    final CharSequence startEvent;

    b.append(statement(assign("int", "_count", invoke(getterName, "size"))));
    if (child.getKeyDefinition().isEmpty()) {
      startEvent = startUnkeyedList(classReference(valueType), "_count");
    } else if (child.isUserOrdered()) {
      startEvent = startOrderedMapNode(classReference(valueType), "_count");
    } else {
      startEvent = startMapNode(classReference(valueType), "_count");
    }
    b.append(statement(startEvent));
    b.append(
        forEach(
            getterName,
            valueType,
            tryToUseCacheElse(CURRENT, statement(staticInvokeEmitter(valueType, CURRENT)))));
    b.append(statement(endNode()));
  }
 protected UnkeyedListItemNormalization(final ListSchemaNode schema) {
   super(new NodeIdentifier(schema.getQName()), schema);
 }