docs: @SuppressWarnings({ "unchecked", "rawtypes" })
      public boolean onSetFont()
      {
          Map<String,Object> properties = null;
          RemoteTask task = (RemoteTask)this.getApplication().getRemoteTask(null, null, false);
          try {
              if (task != null)
                  properties = (Map)task.doRemoteAction(Params.RETRIEVE_USER_PROPERTIES, properties);
          } catch (Exception ex) {
              ex.printStackTrace();
          }
  
          Frame frame = ScreenUtil.getFrame(this);
          ScreenDialog dialog = new ScreenDialog((Frame)frame, properties);
          ScreenUtil.centerDialogInFrame(dialog, (Frame)frame);
          
          dialog.setVisible(true);
          if (dialog.getReturnStatus() == JOptionPane.OK_OPTION)
          {
              properties = dialog.getProperties();
  
              // Now change any other screens to match.
              Application app = this.getApplication();
              for (Task taskScreen : app.getTaskList().keySet())
              {
                  if (taskScreen instanceof BaseApplet)
                      ((BaseApplet)taskScreen).setScreenProperties(null, properties);                
              }
  
              try {
                  if (task != null)
                      task.doRemoteAction(Params.SAVE_USER_PROPERTIES, properties);
              } catch (Exception ex) {
                  ex.printStackTrace();
              }
          }
          return true;    // Command handled
      }