code: Calculus getAlgorithm(HistoricDate date) {
  
          for (int i = this.events.size() - 1; i >= 0; i--) {
              CutOverEvent event = this.events.get(i);
  
              if (date.compareTo(event.dateAtCutOver) >= 0) {
                  return event.algorithm;
              } else if (date.compareTo(event.dateBeforeCutOver) > 0) {
                  return null; // gap at cutover
              }
          }
  
          return this.getJulianAlgorithm();
  
      }
docs: <p>Yields the proper calendar algorithm. </p>
  
  @param   date    historic date
  @return  appropriate calendar algorithm or {@code null} if not found (in case of an invalid date)
  @since   3.0