}
protected void performInstanceImplementationInjection(SourceUnit source, ClassNode classNode,
Map<String, ClassNode> genericsPlaceholders, Class instanceImplementation) {
ClassNode implementationNode;
final ConstructorCallExpression constructorCallExpression;
try {
implementationNode = GrailsASTUtils.replaceGenericsPlaceholders(ClassHelper.make(instanceImplementation), genericsPlaceholders);
constructorCallExpression = GrailsASTUtils.hasZeroArgsConstructor(implementationNode) ? new ConstructorCallExpression(implementationNode, ZERO_ARGS) : null;
} catch (Throwable e) {
// if we get here it means we have reached a point where there were errors loading the class to perform injection with, probably due to missing dependencies
// this may well be ok, as we want to be able to compile against, for example, non servlet environments. In this case just bail out.
return;
}