// FUTURE add this to interface
public IndexResult index(PageContext pc, String key, short type, String urlpath, String title, String body, String language,
String[] extensions, String query, boolean recurse,String categoryTree, String[] categories, long timeout,
String custom1, String custom2, String custom3, String custom4) throws PageException, MalformedURLException, SearchException {
language=SearchUtil.translateLanguage(language);
Lock l = lock();
try {
SearchIndex si = new SearchIndex(title,key,type,query,extensions,language,urlpath,categoryTree,categories,custom1,custom2,custom3,custom4);
String id=si.getId();
IndexResult ir=IndexResultImpl.EMPTY;
if(type==SearchIndex.TYPE_FILE){