class KubernetesClientConfigMapPropertySourceLocator extends ConfigMapPropertySourceLocator {

	private final CoreV1Api coreV1Api;

	private final KubernetesNamespaceProvider kubernetesNamespaceProvider;

	public KubernetesClientConfigMapPropertySourceLocator(CoreV1Api coreV1Api, ConfigMapConfigProperties properties,
			KubernetesNamespaceProvider kubernetesNamespaceProvider) {
		super(properties, new KubernetesClientConfigMapsCache());
		this.coreV1Api = coreV1Api;
		this.kubernetesNamespaceProvider = kubernetesNamespaceProvider;
	}

	@Override
	protected MapPropertySource getMapPropertySource(NormalizedSource source, ConfigurableEnvironment environment) {<FILL_FUNCTION_BODY>}

}


		String normalizedNamespace = source.namespace().orElse(null);
		String namespace = getApplicationNamespace(normalizedNamespace, source.target(), kubernetesNamespaceProvider);

		KubernetesClientConfigContext context = new KubernetesClientConfigContext(coreV1Api, source, namespace,
				environment);
		return new KubernetesClientConfigMapPropertySource(context);
	
<methods>public void <init>(ConfigMapConfigProperties) ,public void <init>(ConfigMapConfigProperties, org.springframework.cloud.kubernetes.commons.config.ConfigMapCache) ,public PropertySource<?> locate(org.springframework.core.env.Environment) ,public Collection<PropertySource<?>> locateCollection(org.springframework.core.env.Environment) <variables>private static final org.apache.commons.logging.Log LOG,private final non-sealed org.springframework.cloud.kubernetes.commons.config.ConfigMapCache cache,protected final non-sealed ConfigMapConfigProperties properties