docs: public <T> OverlayUI<T> overlayUI(String name) {
          try {
              checkGuiThread();
              // Load the UI from disk.
              URL location = GuiUtils.getResource(name);
              FXMLLoader loader = new FXMLLoader(location);
              Pane ui = loader.load();
              T controller = loader.getController();
              OverlayUI<T> pair = new OverlayUI<T>(ui, controller);
              // Auto-magically set the overlayUI member, if it's there.
              try {
                  if (controller != null)
                      controller.getClass().getField("overlayUI").set(controller, pair);
              } catch (IllegalAccessException | NoSuchFieldException ignored) {
                  ignored.printStackTrace();
              }
              pair.show();
              return pair;
          } catch (IOException e) {
              throw new RuntimeException(e);  // Can't happen.
          }
      }