code: Set<EnabledWsTransport> resolveEnabledTransports() {
          String enabledTransportsStr = configuration.getProperty(WS_ENABLED_TRANSPORTS.getPropertyName());
          Set<EnabledWsTransport> enabledTransports = new HashSet<>();
  
          if ( enabledTransportsStr == null ) {
              return DEFAULT_ENABLED_WS_TRANSPORTS;
          }
  
          String[] inputTransports = enabledTransportsStr.split(",");
          if ( inputTransports == null || inputTransports.length == 0 ) {
              throw new IllegalArgumentException(String.format("No values provided for property '%s'. ",WS_ENABLED_TRANSPORTS.toString()));
          }
  
          boolean seenAValue = false;
          for ( String inputTransport: inputTransports ) {
              String s = inputTransport.trim();
              if ( s != null && s.length() > 0 ) {
                  EnabledWsTransport wsTransport;
                  try {
                      wsTransport = EnabledWsTransport.valueOf(s);
                      enabledTransports.add(wsTransport);
                      seenAValue = true;
                  } catch (IllegalArgumentException cause ){
                      IllegalArgumentException x = new IllegalArgumentException(String.format("Invalid value '%s' for property '%s'.", s, WS_ENABLED_TRANSPORTS.getPropertyName()));
                      x.initCause(cause);
                      throw x;
                  }
              }
          }
          if ( !seenAValue ) {
              throw new IllegalArgumentException(String.format("No valid values provided for property '%s'.", WS_ENABLED_TRANSPORTS.getPropertyName()));
          }
  
          return enabledTransports;
  
      }
docs: Which WS transports are enabled?
  @return a set of enabled ws transports or all available ones if none are explicitly specified
  @throws IllegalArgumentException when invalid values are configured.
  
  (see KG-7250 for rules for defaulting, {@link WsSystemProperty#WS_ENABLED_TRANSPORTS}).