@Override
public Output execute(final Input values, final ExecutionContext context) throws Exception {
final List<Object[]> legendList = new ArrayList<Object[]>();
final String[] legendColumns = {NAME_COLUMN, ICON_COLUMN, LEVEL_COLUMN};
final LegendAttributeValue legendAttributes = values.legend;
fillLegend(values.clientHttpRequestFactory, legendAttributes, legendList, 0, context);
final Object[][] legend = new Object[legendList.size()][];
final JRTableModelDataSource dataSource = new JRTableModelDataSource(new TableDataSource(legendColumns,
legendList.toArray(legend)));