if (ChainBuilderAgent.DEBUG) {
if (ChainBuilderAgent.DEBUG_TIMING) {
	public Object getContents() {		long modstart = System.currentTimeMillis();		if (ChainBuilderAgent.DEBUG)			modstart = System.currentTimeMillis();		ChainDataManager chainDataManager = (ChainDataManager) dataManager;		if (modData == null) {			modData = new ModulesData();			long loadStart = System.currentTimeMillis();			// IT'S tempting to think here that one can grab the modules and work			// back to infer the category tree, but that doesn't work. Since 			// categories need not contain modules, this approach might miss 			// thoese categories that only contain other categories.			// It might be possible to just get the categories and work from their			// down to the individual modules, but that would require painful			// and ugly rewrite of the module category mapper, so I'll punt on			// it for now, and hope a more robust solution is developed.			Collection mods = chainDataManager.getModules();			Collection cats = chainDataManager.getModuleCategories();			long loadEnd;			if (ChainBuilderAgent.DEBUG) {				loadEnd= System.currentTimeMillis()-loadStart;				System.err.println("time for get modules and get categories.."+loadEnd);			}						// find uncategorized modules			Iterator iter = mods.iterator();			while (iter.hasNext()) {				ChainModuleData m = (ChainModuleData) iter.next();				if (m.getModuleCategory()== null)					modData.addUncategorizedModule(m);			}						// find root categories			if (cats != null) {				iter = cats.iterator();				while (iter.hasNext()) {					ModuleCategoryData c = (ModuleCategoryData) iter.next();					if (c.getParentCategory() == null) 						modData.addRootModuleCategory(c);					findCategoryModules(c,mods);					findCategoryChildren(c,cats);				}			}		}		if (ChainBuilderAgent.DEBUG) {			long modend = System.currentTimeMillis()-modstart;			if (modend > 0)				System.err.println("total time spent in module get contents.."+modend);		}		return modData;	}