@Override
  protected Object doInBackground() throws Exception {
    if (fichero == null) {
      // Entonces importamos los datos desde séneca
      setMessage("Descargando fichero de Séneca...");
      cli.addPropertyChangeListener(
          new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
              firePropertyChange(evt.getPropertyName(), evt.getOldValue(), evt.getNewValue());
            }
          });
      fichero = cli.getArchivoGeneradoresDeHorarios();
    }
    boolean ret = false;
    if (fichero.exists()) {
      // TODO Debería poder importarse los datos aunque estos ya existan...
      ImportadorDatosGeneralesSeneca importador =
          new ImportadorDatosGeneralesSeneca(
              MaimonidesApp.getApplication().getAnoEscolar(), fichero, this.tipo);
      importador.addPropertyChangeListener(
          new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
              firePropertyChange(evt.getPropertyName(), evt.getOldValue(), evt.getNewValue());
            }
          });

      ObjetoBDConCod.setSoloInsertar(soloNuevos);
      try {
        ret = importador.importarDatosGeneralesSeneca();
      } catch (Exception e) {
        throw e;
      } finally {
        ObjetoBDConCod.setSoloInsertar(false);
      }
    }
    return ret;
  }
  protected final void pedirUsuarioClave() {
    if (!GestorUsuarioClaveSeneca.getGestor().pedirUsuarioClave()) {
      cancel(false);
    } else {
      cli =
          new ClienteSeneca(
              GestorUsuarioClaveSeneca.getGestor().getUsuario(),
              GestorUsuarioClaveSeneca.getGestor().getClave());
      cli.setDebugMode(MaimonidesApp.isDebug());
      cli.addPropertyChangeListener(
          new PropertyChangeListener() {

            @Override
            public void propertyChange(PropertyChangeEvent evt) {
              firePropertyChange(evt.getPropertyName(), evt.getOldValue(), evt.getNewValue());
              if ("error".equals(evt.getPropertyName())) {
                gen.getErrores().add(Str.noNulo(evt.getNewValue()));
              }
            }
          });
      gen.setClienteSeneca(cli);
    }
  }