if (classInfoMap != null)
{
modeMap = classInfoMap.get(classInfo);
if (modeMap != null)
{
BeanInfo info = modeMap.get(accessMode);
if (info != null)
return info;
}
}
Set<ConstructorInfo> constructors = getConstructors(classInfo);
Set<MethodInfo> methods = getMethods(classInfo);
Set<PropertyInfo> properties;
if (classInfo.isAnnotation())
properties = getAnnotationProperties(methods);
else
properties = getBeanProperties(methods);
Set<EventInfo> events = getEvents(classInfo);
BeanInfo result = createBeanInfo(classAdapter, accessMode, properties, constructors, methods, events);
if (classInfoMap == null)
{
classInfoMap = new WeakHashMap<ClassInfo, Map<BeanAccessMode, BeanInfo>>();
cache.put(cl, classInfoMap);
}