code: public static CompletionStage<Stage> setStylesheet(final Stage stage, final String stylesheet) {
          LOG.info(
              "Setting stylesheet {} for stage {}({})",
              stylesheet,
              stage.toString(),
              stage.getTitle()
          );
          return FxAsync.doOnFxThread(
              stage,
              theStage -> {
                  final Scene stageScene = theStage.getScene();
                  stageScene.getStylesheets().clear();
                  stageScene.getStylesheets().add(stylesheet);
              }
          );
      }
docs: Boilerplate for setting the stylesheet of a given stage via Java rather than FXML.
  
  @param stage      The stage whose stylesheet we are changing
  @param stylesheet The new stylesheet in external form. That is, if it is a file, including the protocol info
  "file:/" before the actual path. Use {@link Resources#getResourceURL(String)} and {@link
  java.net.URL#toExternalForm()} if your css file is included in the classpath.
  
  @return A {@link CompletionStage} to have monitoring over the state of the asynchronous operation