try {
IStrategoTerm aterm = (IStrategoTerm) strParser.parse(FileCommands.readFileAsString(str), str.getAbsolutePath(), "StrategoModule");
aterm = ATermCommands.getApplicationSubterm(aterm, "Module", 1);
return new ModuleKey(dependentFiles, STR_FILE_PATTERN, aterm);
} catch (Exception e) {
throw new SGLRException(strParser, "could not parse STR file " + str, e);
} finally {
log.endTask();
}