Object extensionModel;
if (cachedModel != null) {
extensionModel = cachedModel.model;
}
else {
ModelLoadResult modelLoadResult = modelLoadResultCache.get(extensionName);
if (modelLoadResult == null) {
modelLoadResult = getModelLoadResult(extension, projectDir, extensionModels);
modelLoadResultCache.put(extensionName, modelLoadResult);
}
else {
modelLoadResult = modelLoadResult.withMainProject(projectDir);
}
ParsedModel<?> parsedModels = extension.parseModel(modelLoadResult);
extensionModel = parsedModels.getMainModel();