@SuppressWarnings("unchecked") @Override public T get() { if (instance != null) { return instance; } try { synchronized (injector) { final T t; if (Name.class.isAssignableFrom(iface)) { t = injector.getNamedInstance((Class<Name<T>>) iface); } else { t = injector.getInstance(iface); } final Aspect a = injector.getAspect(); if (a != null) { a.injectionFutureInstantiated(this, t); } return t; } } catch (final InjectionException e) { throw new RuntimeException(e); } }
i.bindAspect(old.aspect.createChildAspect());
ret = aspect.inject(def, construct, args); } else { ret = construct.newInstance(args);