@TransactionAttribute(TransactionAttributeType.NEVER)
  public MeasurementBaseline calculateAutoBaseline(
      Subject subject, int groupId, int definitionId, long startDate, long endDate, boolean save)
      throws BaselineCreationException, MeasurementNotFoundException {

    MeasurementBaseline result =
        measurementBaselineManager.calculateAutoBaselineForGroupInNewTransaction(
            subject, groupId, definitionId, startDate, endDate, save);

    if (save) {
      // note, this executes in a new transaction so the baseline must already be committed to the
      // database
      agentStatusManager.updateByMeasurementBaseline(result.getId());
    }

    return result;
  }