public void altaDePersona(Persona p, List<Vehiculo> listaV, List<LicenciaConductor> listaL) {
        personas.verificarInexistente(p.getCi());

        if (listaV != null) {
            for (Vehiculo vehiculo : listaV) {
                if (!vehiculo.getDueño().equals(p)) {
                    throw new PersistenciaException("Vehiculo " + vehiculo + " con dueño " + vehiculo.getDueño() + " es distinto de " + p + ".");
                }
                vehiculos.verificarInexistente(vehiculo.getMatricula());
                p.agregarVehiculo(vehiculo);
            }
        }

        if (listaL != null) {
            for (LicenciaConductor licencia : listaL) {
                agregarLicencia(p, licencia);
            }
        }

        try {
            db.store(p);
            db.commit();
        } catch (DatabaseClosedException | DatabaseReadOnlyException | Db4oIOException e) {
            db.rollback();
            throw new PersistenciaException(e);
        }
    }