title: What are the type parameters in SwingWorker?
body: <p>I have the following code to do a login process in the background:</p>
  
  <pre><code>private class LoginThread extends SwingWorker&lt;Boolean, Object&gt; {
  
          private Controller controller;
          private String userName;
          private String password;
  
          public LoginThread(Controller controller, String userName, String password) {
              this.controller = controller;
              this.userName = userName;
              this.password = password;
          }
  
          @Override
          protected Boolean doInBackground() throws Exception {
              status.setText("Try to log in user " + userName + "...");
              return controller.login(userName, password);
          }
  
          @Override
          protected void done() {
              try {
                  if (get()) {
                      controller.loginDone();
                  } else {
                      showErrorMessage("Can't login user " + userName + ".");
                  }
              } catch (Exception ignore) {
                  showErrorMessage("Can't login user " + userName + ".");
              }
          }
  
      }
  </code></pre>
  
  <p>I can´t find in the API an explanation what the second type parameter of SwingWorker is. The first type is probably the type that is returned by the doInBackground method, but what is the second type?</p>