code: public ChronoHistory with(NewYearStrategy newYearStrategy) {
  
          if (newYearStrategy.equals(NewYearStrategy.DEFAULT)) {
              if (this.nys == null) {
                  return this;
              } else {
                  return new ChronoHistory(this.variant, this.events, this.ajly, null, this.eraPreference);
              }
          } else if (!this.hasGregorianCutOverDate()) {
              return this;
          }
  
          return new ChronoHistory(this.variant, this.events, this.ajly, newYearStrategy, this.eraPreference);
  
      }
docs: /*[deutsch]
  <p>Erzeugt eine Kopie dieser Instanz mit der angegebenen Neujahrsstrategie. </p>
  
  <p>Diese Methode hat keine Auswirkung, wenn angewandt auf {@code ChronoHistory.PROLEPTIC_GREGORIAN}
  oder {@code ChronoHistory.PROLEPTIC_JULIAN} oder {@code ChronoHistory.PROLEPTIC_BYZANTINE}. </p>
  
  @param   newYearStrategy     strategy how to determine New Year
  @return  new history with changed new-year-strategy
  @see     #getBeginOfYear(HistoricEra, int)
  @see     #getLengthOfYear(HistoricEra, int)
  @see     #getNewYearStrategy()
  @since   3.14/4.11