code: protected
    void introspect() {
      try {
        BeanInfo bi = Introspector.getBeanInfo(obj.getClass());
        props = bi.getPropertyDescriptors();
      } catch (IntrospectionException ex) {
        LogLog.error("Failed to introspect "+obj+": " + ex.getMessage());
        props = new PropertyDescriptor[0];
      }
    }
docs: Uses JavaBeans {@link Introspector} to computer setters of object to be
  configured.