@Override
      public Object invokeMethod(final JavaMethod method,
                                 final DomElement proxy,
                                 final Object[] args,
                                 final List<? extends DomElement> implementations) {
        final DomElementVisitor visitor = (DomElementVisitor)args[0];
        for (final AbstractDomChildrenDescription description : implementations.get(0).getGenericInfo().getChildrenDescriptions()) {
          for (final DomElement value : description.getValues(proxy)) {
            value.accept(visitor);
          }
        }
        return null;
      }
@Override
      public Object invokeMethod(final JavaMethod method,
                                 final DomElement proxy,
                                 final Object[] args,
                                 final List<? extends DomElement> implementations)