private void ensureUniqueReqConstraints(
      DpRequirement oldDpr, DpRequirement newDpr, OpenSpecimenException ose) {
    if (oldDpr != null && oldDpr.equalsSpecimenGroup(newDpr)) {
      return;
    }

    DistributionProtocol dp = newDpr.getDistributionProtocol();
    if (dp.hasRequirement(
        newDpr.getSpecimenType(), newDpr.getAnatomicSite(), newDpr.getPathologyStatus())) {
      ose.addError(
          DpRequirementErrorCode.ALREADY_EXISTS,
          newDpr.getSpecimenType(),
          newDpr.getAnatomicSite(),
          newDpr.getPathologyStatus());
    }
  }