//lo hacemos distinto según si es una firma autentificada o no
if (autentificado != null) {
firma = new FirmaAutentificada();
FirmaAutentificada fa = (FirmaAutentificada) firma;
UsuarioDao udao = new UsuarioDao(em);
fa.setUsuario(udao.find(autentificado));
}
else {
firma = new FirmaSinAutentificar();
FirmaSinAutentificar fsa = (FirmaSinAutentificar) firma;
fsa.setNombre(firmaTO.getNombre());