class DataSetEditor implements IsWidget,
                                                                     DataSetDefEditor<T> {

    protected void showError(final ClientRuntimeError error) {
        loadingBox.hide();
        final String message = error.getCause() != null ? error.getCause() : error.getMessage();
        view.showErrorNotification(new SafeHtmlBuilder().appendEscaped(message).toSafeHtml());
        errorEvent.fire(new ErrorEvent(this,
                                       error));

        if (afterPreviewCommand != null) {
            this.afterPreviewCommand.execute();
        }
    }

    @Inject public  DataSetEditor(final DataSetDefBasicAttributesEditor basicAttributesEditor,
                         final IsWidget providerAttributesEditorView,
                         final DataSetDefColumnsFilterEditor columnsAndFilterEditor,
                         final DataSetDefPreviewTable previewTable,
                         final DataSetDefBackendCacheAttributesEditor backendCacheAttributesEditor,
                         final DataSetDefClientCacheAttributesEditor clientCacheAttributesEditor,
                         final DataSetDefRefreshAttributesEditor refreshEditor,
                         final DataSetClientServices clientServices,
                         final LoadingBox loadingBox,
                         final Event<ErrorEvent> errorEvent,
                         final Event<TabChangedEvent> tabChangedEvent,
                         final View view);

}