code: public void parse(final XMLExtendedStreamReader reader, PathAddress parentAddress, List<ModelNode> list) throws XMLStreamException {
          if (decoratorElement != null) {
              parseDecorator(reader, parentAddress, list);
              return;
          }
          if (xmlWrapperElement != null) {
              if (reader.getLocalName().equals(xmlWrapperElement)) {
                  if (reader.hasNext() && reader.nextTag() == END_ELEMENT) { return; }
              } else {
                  throw ParseUtils.unexpectedElement(reader);
              }
              parseInternal(reader, parentAddress, list);
              while (reader.nextTag() != END_ELEMENT && !reader.getLocalName().equals(xmlWrapperElement)) {
                  parseInternal(reader, parentAddress, list);
              }
          } else {
              parseInternal(reader, parentAddress, list);
          }
      }
docs: Parse xml from provided <code>reader</code> and add resulting operations to passed list
  @param reader xml reader to parse from
  @param parentAddress address of the parent, used as base for all child elements
  @param list list of operations where result will be put to.
  @throws XMLStreamException if any error occurs while parsing