/**
   * Receives notification that report generation initializes the current run.
   *
   * <p>The event carries a ReportState.Started state. Use this to initialize the report.
   *
   * @param event The event.
   */
  public void reportInitialized(final ReportEvent event) {
    if (ignoreCrosstabMode) {
      // If the user forces us into relational-mode, then we obey ..
      rowbandingOnGroup = StringUtils.isEmpty(group) == false;
    } else {
      // check whether there is a crosstab
      if (FunctionUtilities.isCrosstabDefined(event)) {
        // when we have one, we always rowband on a group instead of an item-count
        rowbandingOnGroup = true;
      } else {
        // we only row-band on an item-count if the group is not empty.
        rowbandingOnGroup = StringUtils.isEmpty(group) == false;
      }
    }

    trigger = !getInitialState();
    count = 0;
  }