code: public boolean retainAll(Collection<?> c) {
  		boolean modified = false;
  		for (int i = 0; i < events.size(); i++) {
  			try {
  				if (c.contains(events.get(i)) == false) {
  					events.remove(i);
  					modified = true;
  					i--;
  				}
  			} catch (IOException e) {
  				e.printStackTrace();
  			}
  		}
  		return modified;
  	}
docs: /*
  (non-Javadoc)
  
  @see java.util.List#retainAll(java.util.Collection)