RESOLVIDO: Dúvida com o método getReference do EntityManager

Consegui resolver minha dúvida anterior, mas sobrou um problema na linha que faz o getReference do método que exclui o registro do BD:

Como está hoje e funcionando:
objeto = em.getReference(Tbimpacto.class, id); // onde Tbimpacto é nome de uma entity bean do projeto

quero passar o tipo de objeto de tal forma que o
método possa receber qualquer classe de entidade
objeto = em.getReference(<objeto.class>, id);

É possível esse tipo de abstração ou vai contra os padrões?

Consegui resolver o problema: segue a resolução do método para excluir registro de uma tabela passando o objeto por parâmetro e capturando seu tipo em tempo de execução. O objetivo com isso é que consigo ter apenas uma classe de persistência JPA que pode receber qualquer classe de entidade e fazer as operações CRUD.

public void destroy(Serializable entidade, String id) throws NonexistentEntityException, RollbackFailureException, Exception {

    EntityManager em = null;
    Class tipo = Class.forName(entidade.getClass().getName());
    
    try {
        
        em = getEntityManager();
        utx = em.getTransaction();
        utx.begin();
        
       
        Object objeto;
        try {
            objeto = em.getReference(tipo, id);
            
        } catch (EntityNotFoundException enfe) {
            throw new NonexistentEntityException("O registro " + id + " não existe.", enfe);
        }
        em.remove(objeto);
        utx.commit();
    } catch (Exception ex) {
        try {
            utx.rollback();
        } catch (Exception re) {
            throw new RollbackFailureException("Ocorreu um erro e a exclusão não foi concluída", re);
        }
        throw ex;
    } finally {
        if (em != null) {
            em.close();
        }
    }
}