/**
  * Creates an instance.
  *
  * @param identifier the identifier, not null
  * @param validFrom the valid from date, may be null
  * @param validTo the valid to date, may be null
  */
 private ExternalIdWithDates(ExternalId identifier, LocalDate validFrom, LocalDate validTo) {
   ArgumentChecker.notNull(identifier, "identifier");
   if (validFrom != null && validTo != null) {
     ArgumentChecker.isTrue(
         validTo.isAfter(validFrom) || validTo.equals(validFrom),
         "ValidTo must be after or eqauls to ValidFrom");
   }
   _identifier = identifier;
   _validFrom = validFrom;
   _validTo = validTo;
 }