public synchronized AddressbookEntry remove(String name,Set<String> categoriesToRemove){
  name=StringUtil.toLowerCase(name);
  AddressbookEntry currentEntry=entries.get(name);
  if (currentEntry != null) {
    Set<String> currentCategories=currentEntry.getCategories();
    for (    String category : categoriesToRemove) {
      currentCategories.remove(category);
    }
    AddressbookEntry changedEntry=new AddressbookEntry(name,currentCategories);
    entries.put(name,changedEntry);
    if (!currentEntry.equalsFully(changedEntry)) {
      saveOnChange();
    }
    return changedEntry;
  }
  return null;
}

public synchronized AddressbookEntry remove ( String name , Set < String > categoriesToRemove ) { name = StringUtil . toLowerCase ( name ) ; AddressbookEntry currentEntry = entries . get ( name ) ; if ( currentEntry != null ) { Set < String > currentCategories = currentEntry . getCategories ( ) ; for ( String category : categoriesToRemove ) { currentCategories . remove ( category ) ; } AddressbookEntry changedEntry = new AddressbookEntry ( name , currentCategories ) ; entries . put ( name , changedEntry ) ; if ( ! currentEntry . equalsFully ( changedEntry ) ) { saveOnChange ( ) ; } return changedEntry ; } return null ; }
removes the given categories from the entry with the given name .
