fCodeTemplateStore= new ContributionTemplateStore(getCodeTemplateContextRegistry(), store, CODE_TEMPLATES_KEY);
fCodeTemplateStore= new ContributionTemplateStore(getCodeTemplateContextRegistry(), getPreferenceStore(), CODE_TEMPLATES_KEY);
	public TemplateStore getCodeTemplateStore() {		if (fCodeTemplateStore == null) {			IPreferenceStore store= getPreferenceStore();			boolean alreadyMigrated= store.getBoolean(CODE_TEMPLATES_MIGRATION_KEY);			if (alreadyMigrated)				fCodeTemplateStore= new ContributionTemplateStore(getCodeTemplateContextRegistry(), store, CODE_TEMPLATES_KEY);			else {				fCodeTemplateStore= new CompatibilityTemplateStore(getCodeTemplateContextRegistry(), store, CODE_TEMPLATES_KEY, getOldCodeTemplateStoreInstance());				store.setValue(CODE_TEMPLATES_MIGRATION_KEY, true);			}			try {				fCodeTemplateStore.load();			} catch (IOException e) {				log(e);			}						// compatibility / bug fixing code for duplicated templates			// TODO remove for 3.0			CompatibilityTemplateStore.pruneDuplicates(fCodeTemplateStore, true);						final IPropertyChangeListener updater= new IPropertyChangeListener() {				public void propertyChange(PropertyChangeEvent event) {					if (CODE_TEMPLATES_KEY.equals(event.getProperty()))						try {							fCodeTemplateStore.load();						} catch (IOException x) {							log(x);						}				}			};			store.addPropertyChangeListener(updater);			fPreferenceListeners.add(updater);		}				return fCodeTemplateStore;	}