code: public static Map<String, Method> getReadMethods(Object bean) {
  		Class<? extends Object> beanClass = bean.getClass();
  		try {
  			Map<String, Method> readMethods = new HashMap<>();
  			final BeanInfo beanInfo = Introspector.getBeanInfo(beanClass);
  			final PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
  			if (propertyDescriptors != null) {
  				for (final PropertyDescriptor propertyDescriptor : propertyDescriptors) {
  					if (propertyDescriptor != null) {
  						final String name = propertyDescriptor.getName();
  						final Method readMethod = propertyDescriptor.getReadMethod();
  
  						if (readMethod != null) {
  							readMethods.put(name, readMethod);
  						}
  					}
  				}
  			}
  			return readMethods;
  		} catch (final IntrospectionException e) {
  			throw new BeanWrapperException("Failed to initialize bean wrapper on " + beanClass, e);
  		}
  	}
docs: Get the whole list of read {@link Method}s using introspection.
  
  @param bean
  the bean to introspect
  @return the map of bean property getters (indexed by property name)