public void read(final String cacheName) {
        if (cacheName != null) {
            this.cacheName = cacheName;
            responseMap.clear();

            if (dataProvider == null) {
                //noinspection Convert2Diamond
                dataProvider = new RestDataProvider<CacheInfo, CacheInfoResponse>(getEventBus()) {
                    @Override
                    protected void exec(final Range range,
                                        final Consumer<CacheInfoResponse> dataConsumer,
                                        final RestErrorHandler errorHandler) {
                        CacheNodeListPresenter.this.range = range;
                        CacheNodeListPresenter.this.dataConsumer = dataConsumer;
                        delayedUpdate.reset();
                        nodeManager.listAllNodes(nodeNames ->
                                fetchTasksForNodes(dataConsumer, errorHandler, nodeNames), errorHandler, getView());
                    }
                };
                dataProvider.addDataDisplay(dataGrid);
            }

            dataProvider.refresh();
        }
    }
Crude method to size a column by its header
stroom-core-client/src/main/java/stroom/cache/client/presenter/CacheNodeListPresenter.java