code: private String extractPrefix(ApplicationContext context,
  			ConfigurationBeanFactoryMetadata beanFactoryMetaData, String beanName) {
  		ConfigurationProperties annotation = context.findAnnotationOnBean(beanName,
  				ConfigurationProperties.class);
  		if (beanFactoryMetaData != null) {
  			ConfigurationProperties override = beanFactoryMetaData
  					.findFactoryAnnotation(beanName, ConfigurationProperties.class);
  			if (override != null) {
  				// The @Bean-level @ConfigurationProperties overrides the one at type
  				// level when binding. Arguably we should render them both, but this one
  				// might be the most relevant for a starting point.
  				annotation = override;
  			}
  		}
  		return annotation.prefix();
  	}
docs: Extract configuration prefix from
  {@link ConfigurationProperties @ConfigurationProperties} annotation.
  @param context the application context
  @param beanFactoryMetaData the bean factory meta-data
  @param beanName the bean name
  @return the prefix