code: public Result load(final URL url, final ResourceBundle resources) throws IOException  {
  
          fxmlLoadingScope.enter(this);
  
          final FXMLLoader loader = new FXMLLoader();
          loader.setLocation(url);
          if (resources != null) {
              loader.setResources(resources);
          }
          loader.setBuilderFactory(injector.getInstance(FXMLComponentBuilderFactory.class));
          loader.setControllerFactory(param -> {
              // Use our Guice injector to fetch an instance of the desired
              // controller class
              return param == null ? null : injector.getInstance(param);
          });
  
          final Node root = (Node) loader.load(url.openStream());
  
          // Prepares the result that is being returned after loading the FXML hierarchy.
          final Result result = new Result();
          result.location.set(loader.getLocation());
          result.resources.set(loader.getResources());
          result.controller.set(loader.getController());
          result.root.set(root);
          result.charset.set(loader.getCharset());
  
          fxmlLoadingScope.exit();
  
          return result;
  
      }
docs: Loads an object hierarchy from a FXML document.
  <p>A simple wrapper around the
  {@link javafx.fxml.FXMLLoader#load(URL, ResourceBundle) load method}
  of JavaFX' FXMLLoader class that adds a tiny notch of Guice-related
  magic.</p>
  
  @param url
  URL of the FXML resource to be loaded.
  @param resources
  Resources to be used to localize strings.
  @return
  The loaded object hierarchy encapsulated in a special result object.
  @throws IOException
  @see javafx.fxml.FXMLLoader#load(URL, ResourceBundle)