* @return
*/
public Configuration getArchitecture(ContentAssistRequest request) {
IFile file = getResource(request);
IProject project = file.getProject();
Preferences pref = new Preferences(project);
Configuration conf = null;
IFile archFile = pref.getArchitectureFile();
if (archFile != null) {
try {
long thisfileModStamp = getModificationStamp(archFile);
if (lastUsedProject == project &&
lastLoadedArchitecture != null &&
loadedArchModificationStamp == thisfileModStamp) {
// even if both files don't have a modification stamp
// (e.g. because they are not saved in a real file, but
// come from a stream), don't reload. Content assist must
// be fast...
conf = lastLoadedArchitecture;
} else {
conf = ArchitectureMappingModel.getArchitectureFromExtensionPoint(
pref.getArchitectureFile());
lastUsedProject = project;
loadedArchModificationStamp = thisfileModStamp;
lastLoadedArchitecture = conf;
}