code: public HadoopServer performFinish() {
      try {
        if (this.original == null) {
          // New location
          Display.getDefault().syncExec(new Runnable() {
            public void run() {
              ServerRegistry.getInstance().addServer(
                  HadoopLocationWizard.this.location);
            }
          });
          return this.location;
  
        } else {
          // Update location
          final String originalName = this.original.getLocationName();
          this.original.load(this.location);
  
          Display.getDefault().syncExec(new Runnable() {
            public void run() {
              ServerRegistry.getInstance().updateServer(originalName,
                  HadoopLocationWizard.this.location);
            }
          });
          return this.original;
  
        }
      } catch (Exception e) {
        e.printStackTrace();
        setMessage("Invalid server location values", IMessageProvider.ERROR);
        return null;
      }
    }
docs: Performs any actions appropriate in response to the user having pressed
  the Finish button, or refuse if finishing now is not permitted.
  
  @return the created or updated Hadoop location