@Override
    public void reservarLibroAUnSocio(String codigoLibro, String codigoSocio) throws BibliotecaError{
        if (codigoLibro == null || codigoLibro.equals("")){
            System.out.println("Codigo Libro invalido");
            throw new BibliotecaError("Codigo Libro invalido");
        }

        if (codigoSocio == null || codigoSocio.equals("")){
            System.out.println("Codigo Socio invalido");
            throw new BibliotecaError("Codigo Socio invalido");
        }
        if(!libros.containsKey(codigoLibro) ){
            System.out.println("no existe el libro");
            throw new BibliotecaError("no existe el libro");
        }        
        if(!socios.containsKey(codigoSocio) ){
            System.out.println("no existe el socio");
            throw new BibliotecaError("no existe el socio");
        } 
        Libro libro=libros.get(codigoLibro);
        if(!libro.isPrestado()){
            System.out.println("el libro no esta prestado");
            throw new BibliotecaError("el libro no esta prestado");
        }        
        Socio socio=socios.get(codigoSocio);
        //verificar que el lector no tenga una reserva sobre es libro
        if(socio.libroYaReservado(codigoLibro)){
            System.out.println("el libro fue reservado por el lector previamente");
            throw new BibliotecaError("el libro fue reservado por el lector previamente");
        }   
        
        socio.reservarLibro(libro);  
        libro.reservarlibro(socio);
    }