docs: public ModelController getValue() throws IllegalStateException, IllegalArgumentException {
          SecurityManager sm = System.getSecurityManager();
          if (sm != null) {
              sm.checkPermission(ModelController.ACCESS_PERMISSION);
          }
          final ModelController controller = this.controller;
          if (controller == null) {
              throw new IllegalStateException();
          }
          return controller;
      }