code: public static ZonalOffset ofTotalSeconds(
          int total,
          int fraction
      ) {
  
          if (fraction != 0) {
              return new ZonalOffset(total, fraction);
          } else if (total == 0) {
              return UTC;
          } else if ((total % (15 * 60)) == 0) { // Viertelstundenintervall
              Integer value = Integer.valueOf(total);
              ZonalOffset result = OFFSET_CACHE.get(value);
              if (result == null) {
                  result = new ZonalOffset(total, 0);
                  OFFSET_CACHE.putIfAbsent(value, result);
                  result = OFFSET_CACHE.get(value);
              }
              return result;
          } else {
              return new ZonalOffset(total, 0);
          }
  
      }
docs: /*[deutsch]
  <p>Konstruiert eine Verschiebung der lokalen Zeit relativ zur
  UTC-Zeitzone in integralen oder fraktionalen Sekunden. </p>
  
  <p>Hinweis: Fraktionale Verschiebungen werden im Zeitzonenkontext
  nicht verwendet, sondern nur dann, wenn ein {@code PlainTimestamp}
  zu einem {@code Moment} oder zur&uuml;ck konvertiert wird. </p>
  
  @param   total       total shift in seconds defined in range
  {@code -18 * 3600 <= total <= 18 * 3600}
  @param   fraction    fraction of second
  @return  zonal offset in (sub-)second precision
  @throws  IllegalArgumentException if any arguments are out of range
  or have different signs
  @see     #getIntegralAmount()
  @see     #getFractionalAmount()