private Column initActionsColumn() { List<HasCell<ProcessInstanceSummary, ?>> cells = new LinkedList<HasCell<ProcessInstanceSummary, ?>>(); cells.add( new SignalActionHasCell( constants.Signal(), new Delegate<ProcessInstanceSummary>() { @Override public void execute(ProcessInstanceSummary processInstance) { PlaceRequest placeRequestImpl = new DefaultPlaceRequest("Signal Process Popup"); placeRequestImpl.addParameter( "processInstanceId", Long.toString(processInstance.getProcessInstanceId())); placeManager.goTo(placeRequestImpl); } })); cells.add( new AbortActionHasCell( constants.Abort(), new Delegate<ProcessInstanceSummary>() { @Override public void execute(ProcessInstanceSummary processInstance) { if (Window.confirm("Are you sure that you want to abort the process instance?")) { presenter.abortProcessInstance(processInstance.getProcessInstanceId()); } } })); CompositeCell<ProcessInstanceSummary> cell = new CompositeCell<ProcessInstanceSummary>(cells); Column<ProcessInstanceSummary, ProcessInstanceSummary> actionsColumn = new Column<ProcessInstanceSummary, ProcessInstanceSummary>(cell) { @Override public ProcessInstanceSummary getValue(ProcessInstanceSummary object) { return object; } }; return actionsColumn; }