public static Class<?> getConcreteClass(final ComponentDef componentDef) {
if (componentDef.getAspectDefSize() == 0 && componentDef.getInterTypeDefSize() == 0) {
return componentDef.getComponentClass();
}
final Map<String, ComponentDef> parameters = new HashMap<String, ComponentDef>();
parameters.put(ContainerConstants.COMPONENT_DEF_NAME, componentDef);
AopProxy proxy = new AopProxy(componentDef.getComponentClass(), getAspects(componentDef), getInterTypes(componentDef), parameters);
return proxy.getEnhancedClass();
}