for(Iterator it = list1.iterator(); it.hasNext(); ) {
 Token tok = (Token)it.next();
 if(acceptable(tok))
  list2.add(tok);
}

C# ならこう?
foreach(Token tok in list1) {
if(acceptable(tok))
list2.Add(tok);
}