/**
  * Método responsável por reordenar a lista de responsaveis de uma estrutura organizacional
  *
  * @author geovane.filho
  * @param estruturaOrganizacionalId id da estrutura a se reordenar
  */
 private void atualizaOrdemResponsaveis(Long estruturaOrganizacionalId) {
   List<EstruturaOrganizacionalResponsavel> responsaveis =
       (List<EstruturaOrganizacionalResponsavel>)
           this.estruturaOrganizacionalResponsavelDao.findByIdEstruturaOrganizacionalOrdemAsc(
               estruturaOrganizacionalId);
   for (int i = 0; i < responsaveis.size(); i++) {
     EstruturaOrganizacionalResponsavel responsavel = responsaveis.get(i);
     Integer ordem = i + UM;
     responsavel.setOrdem(ordem);
   }
   this.saveList(responsaveis);
 }
  @Override
  public boolean removeById(Long id) {
    // busca o item
    EstruturaOrganizacionalResponsavel responsavel = this.find(id);

    // Verifica se o responsavel não está nulo
    if (responsavel != null) {
      responsavel.setEstruturaOrganizacionalInativo(responsavel.getEstruturaOrganizacional());
      responsavel.setEstruturaOrganizacional(null);

      if (super.remove(responsavel)) {
        this.atualizaOrdemResponsaveis(responsavel.getEstruturaOrganizacionalInativo().getId());
        return true;
      } else {
        return false;
      }
    }
    return true;
  }