/**
   * Shows or hides the DataflowAnomalyTable, set the right text for the button.
   *
   * @param isShown, true if the Table should be visible, false otherwise
   */
  private void showTableArea(boolean isShown) {
    tableViewer.setVisible(isShown);

    // if the AnomalyTable is visible, an Area is 50% of the View
    // set the new Size and update the SwitchButton's Label
    if (isShown) {
      ((GridData) graphViewer.getLayoutData()).horizontalSpan = 1;
      switchButton.setText(getString(StringKeys.VIEW_DATAFLOW_SWITCHBUTTON_HIDE));

      // refresh the table if it isn't refreshed yet.
      if (!isTableRefreshed) {
        refreshDFATable(getResource());
      }
    } else {
      ((GridData) graphViewer.getLayoutData()).horizontalSpan = 2;
      switchButton.setText(getString(StringKeys.VIEW_DATAFLOW_SWITCHBUTTON_SHOW));
    }

    // lay out to update the View
    dfaFrame.layout(true, true);
  }