final ArrayList<Program> currentList = new ArrayList<Program>(mPrograms);
final ProgramSearcher searcher = searchForm.createSearcher();
for (Program p:added) {
if (searcher.matches(p, searchForm.getFieldTypes()) && !currentList.contains(p)) {
currentList.add(p);
}
}
for (Program p:removed) {