@Override
  public ChangeSet update(final ChangeSet changeSet, final LoadTuner loadTuner) {
    if (LOG.isDebugEnabled()) {
      LOG.debug("Update a change set: " + changeSet);
    }

    checkChangeAllowed(changeSet.getGuid());

    ChangeSet updatedChangedSet = changeSetDao.update(changeSet);

    addMemberObjectsToChangeSet(updatedChangedSet, loadTuner);

    return updatedChangedSet;
  }
  @Override
  public ChangeSet updateState(
      final String changeSetGuid, final ChangeSetStateCode stateCode, final LoadTuner loadTuner) {
    if (StringUtils.isEmpty(changeSetGuid) || stateCode == null) {
      throw new IllegalArgumentException(
          String.format(
              "Must specify change set GUID: %s and a state code: %s",
              new Object[] {changeSetGuid, stateCode}));
    }
    ChangeSet changeSet = changeSetDao.findByGuid(changeSetGuid);
    if (changeSet == null) {
      throw new EpServiceException(
          "No change set with GUID '" + changeSetGuid + "' could be found.");
    }
    changeSet.setStateCode(stateCode);

    final ChangeSet updatedChangedSet = changeSetDao.update(changeSet);

    addMemberObjectsToChangeSet(updatedChangedSet, loadTuner);

    return updatedChangedSet;
  }