title: Why does it.next() throw java.util.ConcurrentModificationException?
body: <pre><code>final Multimap&lt;Term, BooleanClause&gt; terms = getTerms(bq);
          for (Term t : terms.keySet()) {
              Collection&lt;BooleanClause&gt; C = new HashSet(terms.get(t));
              if (!C.isEmpty()) {
                  for (Iterator&lt;BooleanClause&gt; it = C.iterator(); it.hasNext();) {
                      BooleanClause c = it.next();
                      if(c.isSomething()) C.remove(c);
                  }
              }
          }
  </code></pre>
  
  <p>Not a SSCCE, but can you pick up the smell?</p>