code: @Override
          public HebrewTime addTo(
              HebrewTime context,
              long amount
          ) {
  
              if (amount == 0) {
                  return context;
              }
  
              int h;
              int p;
  
              switch (this.unit) {
                  case HOURS:
                      h = MathUtils.floorModulo(MathUtils.safeAdd(context.hour23, amount), 24);
                      p = context.part;
                      break;
                  case HALAKIM:
                      long sum = MathUtils.safeAdd(context.part, amount);
                      p = MathUtils.floorModulo(sum, PARTS_IN_HOUR);
                      long overflow = MathUtils.floorDivide(sum, PARTS_IN_HOUR);
                      h = MathUtils.floorModulo(MathUtils.safeAdd(context.hour23, overflow), 24);
                      break;
                  default:
                      throw new UnsupportedOperationException(this.unit.name());
              }
  
              return new HebrewTime(h, p);
  
          }
docs: ~ Methoden ------------------------------------------------------