code: public static BeanInfo getBeanInfo(Class<?> beanClass)
              throws IntrospectionException {
          StandardBeanInfo beanInfo = theCache.get(beanClass);
          if (beanInfo == null) {
              beanInfo = getBeanInfoImplAndInit(beanClass, null, USE_ALL_BEANINFO);
              theCache.put(beanClass, beanInfo);
          }
          return beanInfo;
      }
docs: Gets the <code>BeanInfo</code> object which contains the information of
  the properties, events and methods of the specified bean class.
  
  <p>
  The <code>Introspector</code> will cache the <code>BeanInfo</code>
  object. Subsequent calls to this method will be answered with the cached
  data.
  </p>
  
  @param beanClass
  the specified bean class.
  @return the <code>BeanInfo</code> of the bean class.
  @throws IntrospectionException