class KubernetesConfigServerBootstrapper implements BootstrapRegistryInitializer {

	public static boolean hasConfigServerInstanceProvider() {
		return !ClassUtils.isPresent("org.springframework.cloud.config.client.ConfigServerInstanceProvider", null);
	}

	public static KubernetesDiscoveryProperties createKubernetesDiscoveryProperties(Binder binder,
			BindHandler bindHandler) {
		return binder.bind(KubernetesDiscoveryProperties.PREFIX, Bindable.of(KubernetesDiscoveryProperties.class),
				bindHandler).orElseGet(() -> KubernetesDiscoveryProperties.DEFAULT);
	}

	public static KubernetesDiscoveryProperties createKubernetesDiscoveryProperties(BootstrapContext bootstrapContext) {<FILL_FUNCTION_BODY>}

	public static KubernetesClientProperties createKubernetesClientProperties(Binder binder, BindHandler bindHandler) {
		return binder.bindOrCreate(KubernetesClientProperties.PREFIX, Bindable.of(KubernetesClientProperties.class))
				.withNamespace(new KubernetesNamespaceProvider(binder, bindHandler).getNamespace());
	}

	public static KubernetesClientProperties createKubernetesClientProperties(BootstrapContext bootstrapContext) {
		PropertyResolver propertyResolver = getPropertyResolver(bootstrapContext);
		return getPropertyResolver(bootstrapContext)
				.resolveOrCreateConfigurationProperties(KubernetesClientProperties.PREFIX,
						KubernetesClientProperties.class)
				.withNamespace(
						propertyResolver.get(KubernetesNamespaceProvider.NAMESPACE_PROPERTY, String.class, null));
	}

	public static Boolean getDiscoveryEnabled(Binder binder, BindHandler bindHandler) {
		return binder.bind(ConfigClientProperties.CONFIG_DISCOVERY_ENABLED, Bindable.of(Boolean.class), bindHandler)
				.orElse(false);
	}

	public static Boolean getDiscoveryEnabled(BootstrapContext bootstrapContext) {
		return getPropertyResolver(bootstrapContext).get(ConfigClientProperties.CONFIG_DISCOVERY_ENABLED, Boolean.class,
				false);
	}

	protected static PropertyResolver getPropertyResolver(BootstrapContext context) {
		return context.getOrElseSupply(ConfigServerConfigDataLocationResolver.PropertyResolver.class,
				() -> new ConfigServerConfigDataLocationResolver.PropertyResolver(context.get(Binder.class),
						context.getOrElse(BindHandler.class, null)));
	}

}

		PropertyResolver propertyResolver = getPropertyResolver(bootstrapContext);
		return propertyResolver.resolveConfigurationProperties(KubernetesDiscoveryProperties.PREFIX,
				KubernetesDiscoveryProperties.class, () -> KubernetesDiscoveryProperties.DEFAULT);
	
<no_super_class>