private void loadEstudosIntoGridViewFromAcompanhamento(Acompanhamento acompanhamento) {
   try {
     estudoBO.open();
     assuntoBO.open();
     // O acompanhamento já esteja persistido no BD e sua lista de estudos esteja vazia?
     if (acompanhamento.getEstudos().size() == 0
         && acompanhamento.getId() != null
         && acompanhamento.getId() > 0) {
       // sim -> pesquisa por possíveis estudos persistidos no BD deste acomp e se houver os inclui
       // na coleção de estudos do acomp:
       List<Estudo> estudosJaExistentes =
           estudoBO.selectEstudosFromAcompanhamentoId(acompanhamento.getId());
       for (Estudo estudo : estudosJaExistentes) {
         Assunto assunto = assuntoBO.selectOneById(estudo.getAssunto().getId());
         estudo.setAssunto(assunto);
         estudosAdapter.add(estudo);
       }
     }
   } catch (QueryModelException e) {
     e.printStackTrace();
     Toast.makeText(
             this,
             getString(R.string.failed_loading_model_list, Estudo.ACTUAL_NAME),
             Toast.LENGTH_LONG)
         .show();
   } finally {
     assuntoBO.close();
     estudoBO.close();
   }
 }
 protected void loadGridView() {
   // binda a coleção de estudos do acomp ao adapter do gridview:
   estudosAdapter = new EstudoAdapter(this, acompanhamento.getEstudos());
   GridView gdvItens = getGridViewAssuntosEstudados();
   gdvItens.setAdapter(estudosAdapter);
   registerForContextMenu(gdvItens);
   if (acompanhamento != null) {
     loadEstudosIntoGridViewFromAcompanhamento(acompanhamento);
   }
   estudosAdapter.calcGridAssuntosEstudadosHeight(gdvItens);
 }