@Override
 public void setupComponents(List<LayoutDragComponent> layoutDragComponents) {
   components.clear();
   for (LayoutDragComponent layoutDragComponent : layoutDragComponents) {
     components.add(new DragGridElement(layoutDragComponent));
   }
 }
 @PostConstruct
 void init() {
   propertiesGridPanel.add(persistenceUnitProperties);
   persistenceUnitClassesPanel.add(persistenceUnitClasses);
   collapsePropertiesPanel.addShowHandler(
       new ShowHandler() {
         @Override
         public void onShow(ShowEvent showEvent) {
           Scheduler.get()
               .scheduleDeferred(
                   new Scheduler.ScheduledCommand() {
                     @Override
                     public void execute() {
                       persistenceUnitProperties.redraw();
                     }
                   });
         }
       });
   collapsePersistencePanel.addShowHandler(
       new ShowHandler() {
         @Override
         public void onShow(ShowEvent showEvent) {
           Scheduler.get()
               .scheduleDeferred(
                   new Scheduler.ScheduledCommand() {
                     @Override
                     public void execute() {
                       persistenceUnitClasses.redraw();
                     }
                   });
         }
       });
 }
 @Override
 public void setupGridSystem(List<LayoutDragComponent> layoutDragComponents) {
   gridSystem.clear();
   for (LayoutDragComponent layoutDragComponent : layoutDragComponents) {
     gridSystem.add(new DragGridElement(layoutDragComponent));
   }
 }
  private void createAnnotationAccordionGroup(
      final Annotation annotation, final AnnotationSource annotationSource) {

    final Panel container = new Panel();
    final PanelHeader header = new PanelHeader();
    final PanelCollapse collapse = new PanelCollapse();
    final PanelBody body = new PanelBody();

    container.add(header);
    collapse.add(body);
    container.add(collapse);

    final Button remove = new Button();
    remove.addClickHandler(
        new ClickHandler() {
          @Override
          public void onClick(final ClickEvent clickEvent) {
            presenter.onDeleteAnnotation(annotation);
          }
        });
    remove.setPull(Pull.RIGHT);
    remove.setIcon(IconType.TRASH);
    remove.setType(ButtonType.DANGER);
    remove.setSize(ButtonSize.SMALL);
    remove.getElement().getStyle().setMarginTop(-4, Style.Unit.PX);
    header.add(remove);

    final Heading heading = new Heading(HeadingSize.H4);
    final Anchor anchor = new Anchor();
    anchor.setText(accordionHeading(annotation));
    anchor.setDataToggle(Toggle.COLLAPSE);
    anchor.setDataParent(accordionsContainer.getId());
    anchor.setDataTargetWidget(collapse);
    anchor.addStyleName("collapsed");
    heading.add(anchor);
    header.add(heading);

    accordionsContainer.add(container);

    if (annotation.getAnnotationDefinition() != null
        && annotation.getAnnotationDefinition().getValuePairs() != null) {
      for (AnnotationValuePairDefinition valuePairDefinition :
          annotation.getAnnotationDefinition().getValuePairs()) {
        body.add(createValuePairItem(annotation, valuePairDefinition, annotationSource));
      }
    }
  }