private List<Usuario> findUsuarioEntities(boolean all, int maxResults, int firstResult) {
    EntityManager em = getEntityManager();
    try {
      Query q = em.createQuery("select u from Usuario u");
      // Query q = em.createQuery("select u from Usuario u inner join u.perfilCollection");
      if (!all) {
        q.setMaxResults(maxResults);
        q.setFirstResult(firstResult);
      }
      List<Usuario> resultLsit = q.getResultList();
      for (Usuario x : resultLsit) {
        Collection<Perfil> perfilCollection = x.getPerfilCollection();
        //                Collection<PedidoVenta> pedidoVentaCollection =
        // x.getPedidoVentaCollection();
        //                Collection<MovimientoHistoricoProducto>
        // movimientoHistoricoProductoCollection = x.getMovimientoHistoricoProductoCollection();
        //                Collection<EstadoDeCuenta> estadoDeCuentaCollection =
        // x.getEstadoDeCuentaCollection();
        //                Collection<PedidoCompraEstado> pedidoCompraEstadoCollection =
        // x.getPedidoCompraEstadoCollection();
        //                Collection<PedidoCompra> pedidoCompraCollection =
        // x.getPedidoCompraCollection();
        //                Collection<PedidoVentaEstado> pedidoVentaEstadoCollection =
        // x.getPedidoVentaEstadoCollection();
        //
        // System.err.println("\t=>> 1. For Usuario:"+x);
        for (Perfil perfil : perfilCollection) {
          // System.err.println("\t\t=>> 1. fecthing Perfil:"+perfil);
          perfil.getUsuarioCollection();
          perfil.setUsuarioCollection(null);
        }

        x.setPerfilCollection(perfilCollection);
        x.setPedidoVentaCollection(null);
        x.setMovimientoHistoricoProductoCollection(null);
        // x.setEstadoDeCuentaCollection(null);
        x.setPedidoVentaEstadoCollection(null);
        x.setMensajesParaPortalCollection(null);
      }
      return resultLsit;
    } finally {
      em.close();
    }
  }