fgAsyncMode= true;
	private static void startBackgroundMode() {				fgAsyncMode= true;		if (fgInitialized)			return;				forceDeltaComplete();				synchronized(fgLock) {			if (fgTypeCacherThread != null) {				// there is already a thread				if (fgTerminated) {					if (fgTypeCacherThread != null)						fgTypeCacherThread.abort();																						} else {					// there is already a thread running				}										} else {				if (fgTerminated) {					// already terminated: do nothing				} else {					if (fgTypeCache != null) {						// the cache is already uptodate					} else {						fgTypeCacherThread= new TypeCacher(fgSizeHint, INITIAL_DELAY, null);						fgTypeCacherThread.start();					}											}			}		}	}