private Widget newActionContainer(final boolean atEnd) {
    FlowPanel itemActionContainer = new FlowPanel();
    itemActionContainer.addStyleName("itemActionContainer");
    AnchorButton add = new AnchorButton("Ajouter");
    add.getElement().setAttribute("name", "anchor");
    add.addStyleName("button_add");
    add.addClickHandler(
        new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            addItemContent(newItemInstance());
            ValueChangeEvent.fire(ExtendedAbstractComponent.this, getValue());
          }

          private void addItemContent(Bloc item) {
            // update data in order to save local widget change
            getValue();
            // where to add
            if (atEnd) {
              addItem(item);
            } else {
              addItem(0, item);
            }
            // refresh widget
            refreshWidget();
          }
        });
    add.setVisible(!isReadOnly());
    itemActionContainer.add(add);
    return itemActionContainer;
  }