code: public GeneralTimestamp<C> plus(long amount, ClockUnit unit) {
  
          DayCycles cycles = this.time.roll(amount, unit);
          CalendarDays days = CalendarDays.of(cycles.getDayOverflow());
          CalendarVariant<?> ncv = (this.cv == null) ? null : this.cv.plus(days);
          Calendrical<?, ?> nca = (this.ca == null) ? null : this.ca.plus(days);
          return new GeneralTimestamp<>(ncv, nca, cycles.getWallTime());
  
      }
docs: /*[deutsch]
  <p>F&uuml;gt die angegebene Anzahl von Uhrzeiteinheiten zu diesem allgemeinen Zeitstempel hinzu
  und liefert das Additionsergebnis. </p>
  
  <p><strong>Warnung:</strong> Wenn Anwender auch Zeitzoneneffekte ber&uuml;cksichtigen wollen, dann
  mu&szlig; zuerst eine Umwandlung dieses allgemeinen Zeitstempels zu einem {@code Moment} geschehen,
  bevor irgendeine Zeitarithmetik versucht wird. </p>
  
  @param   amount  the amount of units to be added
  @param   unit    the clock unit to be applied
  @return  result of addition as changed copy, this instance remains unaffected
  @throws  ArithmeticException in case of numerical overflow
  @see     #at(ZonalOffset, StartOfDay)
  @see     #in(Timezone, StartOfDay)
  @see     Moment#plus(long, Object) Moment.plus(long, TimeUnit)
  @since   5.0