static List withElementChildren()

in gwt-util/src/main/java/jetbrains/jetpad/mapper/gwt/DomUtil.java [96:130]


  static <ElementT extends WithElement> List<ElementT> withElementChildren(final List<Node> base) {
    final List<ElementT> items = new ArrayList<>();

    return new AbstractList<ElementT>() {
      @Override
      public ElementT get(int index) {
        return items.get(index);
      }

      @Override
      public ElementT set(int index, ElementT element) {
        ElementT result = items.set(index, element);
        base.set(index, result.getElement());
        return result;
      }

      @Override
      public void add(int index, ElementT element) {
        items.add(index, element);
        base.add(index, element.getElement());
      }

      @Override
      public ElementT remove(int index) {
        ElementT result = items.remove(index);
        base.remove(index);
        return result;
      }

      @Override
      public int size() {
        return items.size();
      }
    };
  }