code: protected synchronized C loadNetTimeConfiguration() {
  
          ServiceLoader<C> sl = ServiceLoader.load(this.getConfigurationType());
          C loaded = null;
  
          for (C cfg : sl) {
              if (cfg != null) {
                  loaded = cfg;
                  break;
              }
          }
  
          if (loaded == null) {
              loaded = this.defaultNTC;
          }
  
          String addr = loaded.getTimeServerAddress();
          int port = loaded.getTimeServerPort();
  
          if (
              (addr == null)
              || addr.trim().isEmpty()
          ) {
              throw new IllegalStateException("Missing time server address.");
          } else if (loaded.getConnectionTimeout() < 0) {
              throw new IllegalStateException("Negative time out.");
          } else if ((port < 0) || (port > 65536)) {
              throw new IllegalStateException("Port out of range: " + port);
          } else if (loaded.getClockShiftWindow() < 0) {
              throw new IllegalStateException("Clock shift window is negative.");
          }
  
          return loaded;
  
      }
docs: /*[deutsch]
  <p>Laden der Konfiguration über einen SPI-Service. </p>
  
  <p>Subklassen sollten zuerst mit {@code super()} diese Methode aufrufen,
  wenn sie sie &uuml;berschreiben. </p>
  
  @return  geladene Konfiguration
  @throws  IllegalStateException bei Konfigurationsfehlern
  @see     #reconfigure()