docs: protected static int standardPeriodIn(ReadablePeriod period, long millisPerUnit) {
          if (period == null) {
              return 0;
          }
          Chronology iso = ISOChronology.getInstanceUTC();
          long duration = 0L;
          for (int i = 0; i < period.size(); i++) {
              int value = period.getValue(i);
              if (value != 0) {
                  DurationField field = period.getFieldType(i).getField(iso);
                  if (field.isPrecise() == false) {
                      throw new IllegalArgumentException(
                              "Cannot convert period to duration as " + field.getName() +
                              " is not precise in the period " + period);
                  }
                  duration = FieldUtils.safeAdd(duration, FieldUtils.safeMultiply(field.getUnitMillis(), value));
              }
          }
          return FieldUtils.safeToInt(duration / millisPerUnit);
      }