Implementado double dispatch.