The following method is added to the ContactStorage interface:

/**
* Performs an optimized auto-complete lookup for contacts.
*
* @param session The session
* @param folderIDs A list of folder IDs to restrict the search to
* @param query The search query as supplied by the client
* @param requireEmail <code>true</code> if the returned contacts should have at least one e-mail address, <code>false</code>,
* otherwise
* @param fields The contact fields that should be retrieved
* @param sortOptions The options to sort the results
* @return The contacts found with the search
* @throws OXException
*/
SearchIterator<Contact> autoComplete(Session session, List<String> folderIDs, String query, boolean requireEmail, ContactField[] fields, SortOptions sortOptions) throws OXException;


A default implementation is added to DefaultContactStorage, which falls back to a corrseponding call to com.openexchange.contact.storage.DefaultContactSto rage.search(Session, ContactSearchObject, ContactField[], SortOptions), so that existing storages inheriting from the abstract class will continue to work.