/**
   * Performs data validation prior to update. If the result returned is not null an error occured.
   */
  public ims.dto.Result getForUpdate() {
    ims.dto.Result reLoginResult = Connection.reLogin();
    if (reLoginResult != null)
      return new ims.dto.Result(reLoginResult.getMessage(), "DTO.Client.Go_mdt_hcps.GetForUpdate");

    if (lastGetFilter == null)
      return new ims.dto.Result(
          "Last get method failed or not called", "DTO.Client.Go_mdt_hcps.GetForUpdate");

    ims.dto.Result result = Connection.getForUpdate(serviceName, encodeNASFilter(lastGetFilter));
    if (result != null) return result;

    if (Connection.countResponseItems(Connection.getValueAt(6)) == 0) return null;

    DataCollection.clear();
    decodeNASMessageWithRepeatingGroups();

    return new ims.dto.Result(
        "The data was changed by another user", "DTO.Client.Go_mdt_hcps.GetForUpdate");
  }