List bracks = (ArrayList) build.get(bracketer.getTargetBeanName());
String targetname = bracketer.getTargetBeanName(); if (targetname == null) throw new IllegalArgumentException("Error in configuration: BeanFetchBracketer " + names[i] + " does not carry a targetBeanName"); List bracks = (ArrayList) build.get(targetname);
  public static void populateBracketers(ApplicationContext applicationContext,      Map rbimap) {    HashMap build = new HashMap();    String[] names = applicationContext        .getBeanNamesForType(BeanFetchBracketer.class, false, false);    for (int i = 0; i < names.length; ++i) {      BeanFetchBracketer bracketer = (BeanFetchBracketer) applicationContext          .getBean(names[i]);      List bracks = (ArrayList) build.get(bracketer.getTargetBeanName());      if (bracks == null) {        bracks = new ArrayList();        build.put(bracketer.getTargetBeanName(), bracks);      }      bracks.add(bracketer.getWrappingBean());    }    for (Iterator nameit = build.keySet().iterator(); nameit.hasNext();) {      String name = (String) nameit.next();      List wrappers = (List) build.get(name);      Object[] resolved = new Object[wrappers.size()];      for (int i = 0; i < wrappers.size(); ++i) {        Object wrappero = wrappers.get(i);        if (wrappero instanceof RunnableWrapper) {          resolved[i] = wrappero;        }        else {          String wrappername = (String) wrappero;          if (applicationContext.containsBeanDefinition(wrappername)) {            RunnableWrapper wrapper = (RunnableWrapper) applicationContext                .getBean(wrappername);            resolved[i] = wrapper;          }          else {            resolved[i] = wrappername;          }        }      } // end for each wrapper for this target      RSACBeanInfo rbi = (RSACBeanInfo) rbimap.get(name);      rbi.fetchwrappers = resolved;    }  }