static final String RENDERED_PROXIES = "^RenderedProxies";
public List<Statement> createProxyDeclaration(InjectionContext context, Statement beanRef) {
if (isProxied()) {
final BuildMetaClass type = ProxyMaker.makeProxy(
getInjectedType(),
context.getProcessingContext().isGwtTarget() ? "jsni" : "reflection",
getProxyPropertyMap(),
getWeavingStatementsMap()
);
if (!context.hasAttribute(RENDERED_PROXIES)) {
context.setAttribute(RENDERED_PROXIES, new HashSet<String>());
}
final Set<String> proxies = (Set<String>) context.getAttribute(RENDERED_PROXIES);
if (!proxies.contains(type.getCanonicalName())) {
context.getProcessingContext().getBootstrapClass()
.addInnerClass(new InnerClass(type));
proxies.add(type.getCanonicalName());
}
final List<Statement> proxyCloseStmts = new ArrayList<Statement>();
proxyCloseStmts.add(Stmt.declareFinalVariable(