@Override
  public void notifyModelUpdated() {
    CurrencyConverter converter = new CurrencyConverterImpl(factory, getClient().getBaseCurrency());
    ClientSnapshot snapshot = ClientSnapshot.create(getClient(), converter, LocalDate.now());

    assetViewer.setInput(snapshot);
    updateTitle();
  }
 @Override
 protected String getTitle() {
   return assetViewer == null
       ? Messages.LabelStatementOfAssets
       : Messages.LabelStatementOfAssets
           + //
           " ("
           + assetViewer.getColumnHelper().getConfigurationName()
           + ")"; //$NON-NLS-1$ //$NON-NLS-2$
 }
  @Override
  protected Control createBody(Composite parent) {
    assetViewer = make(StatementOfAssetsViewer.class);
    Control control = assetViewer.createControl(parent);

    updateTitle();
    assetViewer.getColumnHelper().addListener(() -> updateTitle());

    hookContextMenu(
        assetViewer.getTableViewer().getControl(),
        new IMenuListener() {
          public void menuAboutToShow(IMenuManager manager) {
            assetViewer.hookMenuListener(manager, StatementOfAssetsView.this);
          }
        });
    notifyModelUpdated();

    return control;
  }