title: RecyclerView - Iterator multiplying my itens
body: <p>I was trying to use the <code>foreach</code> to list my item, that is inside of my list called by <em>checklists</em> , but It got me an error called by <strong>Concurrent Modification</strong>. So, I found a solution like this: </p>
  
  <pre><code>//...
      List&lt;Checklist&gt; desc = new ArrayList&lt;&gt;();
              for (Iterator&lt;Checklist&gt; it = checklists.iterator(); it.hasNext(); ) {
                  Checklist check = it.next();
                  desc.add(new Checklist(check.getDescricao()));
                  loadRecycler(desc);
              }
      //...
  </code></pre>
  
  <p>But now, I got an other problem: my items is getting duplicated every time that I open the screen. How can I solve this problem? Follow the whole code below: </p>
  
  <blockquote>
    <p>CheckListsFragment</p>
  </blockquote>
  
  <pre><code>public class ChecklistFragment extends Fragment {
      @BindView(R.id.checklist_rcv_itens)
      RecyclerView rvLista;
      @BindView(R.id.checklist_btn_novoitem)
      Button btnAddItem;
      int valor;
      BancoDAO bDAO;
      private Checklist checklist;
      private List&lt;Checklist&gt; checklists;
      private ListChecklistAdapter listChecklistAdapter;
  
      public ChecklistFragment() {
  
      }
  
      @Override
      public void onCreate(@Nullable Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          bDAO = new BancoDAO(getContext());
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          View view = inflater.inflate(R.layout.fragment_checklist, container, false);
          Log.i("LOG", "onCreate()");
          ButterKnife.bind(this, view);
          checklist = new Checklist();
          checklists = bDAO.listAllItens();
  
          //It works, but multiply my items
          List&lt;Checklist&gt; desc = new ArrayList&lt;&gt;();
          for (Iterator&lt;Checklist&gt; it = checklists.iterator(); it.hasNext(); ) {
              Checklist check = it.next();
              desc.add(new Checklist(check.getDescricao()));
              loadRecycler(desc);
          }
  
          /* It works, but multiply my items too
          for (Checklist checklist : new ArrayList&lt;&gt;(checklists)) {
              loadRecycler(checklists);
          } */
  
          return view;
      }
  
      private int cont() {
          return valor++;
      }
  
      //  add 1 item to the list
      @OnClick(R.id.checklist_btn_novoitem)
      void addItem() {
          checklists = new ArrayList&lt;&gt;();
          checklists.add(new Checklist("Teste " + (cont() + 1) + ""));
          bDAO.inserir(new Checklist("Teste " + (cont() + 1) + ""));
          loadRecycler(checklists);
          Helper.snackbarFast(getView(), "Item adicionado");
          return;    
      }
  
      private void loadRecycler(List&lt;Checklist&gt; lista) {
          if (listChecklistAdapter == null) {
              Log.i("LOG", "IF");
  
              listChecklistAdapter = new ListChecklistAdapter(getActivity(), lista);
  
              rvLista.setAdapter(listChecklistAdapter);
              rvLista.setLayoutManager(new LinearLayoutManager(getActivity().getApplicationContext()));
              rvLista.addItemDecoration(new DividerItemDecoration(getActivity(), 1));
              return;
          } else {
              Log.i("LOG", "ELSE");
              listChecklistAdapter.refreshData(lista);
          }
      }
  </code></pre>