private void populateListing() { _listing.removeAllComponents(); getResourcesFromValue(getValue()) .forEach( r -> { Optional<ResourceRepositoryItem> repoItem = _repositoryDAO.getRepoItemForResource(r); if (repoItem.isPresent()) { ResourceRepositoryItemValueViewer viewer = new ResourceRepositoryItemValueViewer(repoItem.get()); PushButton remove = CommonActions.REMOVE.push(); AppUtil.enableTooltip(remove); remove.addActionListener( ev -> { RI val = removeResourceFromValue(repoItem.get().getResource(), getValue()); _repositoryDAO.mergeRepositoryItem(val); populateListing(); }); _listing.add(of("resource", of("actions persistence-actions", remove), viewer)); } }); }