static void preprocessGBeanData(AbstractName configurationName, Configuration configuration, GBeanData gbeanData) throws InvalidConfigException {
if (log.isDebugEnabled()) {
log.debug("resolving dependencies for " + gbeanData.getAbstractName());
}
for (String referenceName : gbeanData.getReferencesNames()) {
GReferenceInfo referenceInfo = gbeanData.getGBeanInfo().getReference(referenceName);
if (referenceInfo == null) {
throw new InvalidConfigException("No reference named " + referenceName + " in gbean " + gbeanData.getAbstractName());
}
boolean isSingleValued = !referenceInfo.getProxyType().equals(Collection.class.getName());
if (isSingleValued) {
ReferencePatterns referencePatterns = gbeanData.getReferencePatterns(referenceName);
AbstractName abstractName;
try {
abstractName = configuration.findGBean(referencePatterns);