code: public Set<String> getServerFeatures() {
          ServerTask serverTask = runningServer.get();
          try {
              if (serverTask != null)
                  return serverTask.getServerFeatures();
          } catch (InterruptedException e) {
              // nothing to do here, we couldn't get the results from the server
          }
  
          return Collections.emptySet();
      }
docs: The feature gather operation needs to launch the server far enough for it to read
  config and figure out all of the features that would be loaded. It doesn't actually
  start any of those features, but it needs to get far enough to evaluate the full
  feature set, including features and auto-features that are part of Liberty or are
  provided by product extensions.
  
  @return Set of strings describing the required features for the server. Will not return null.