class Fabric8SecretsPropertySource extends SecretsPropertySource {

	private static final EnumMap<NormalizedSourceType, Fabric8ContextToSourceData> STRATEGIES = new EnumMap<>(
			NormalizedSourceType.class);

	static {
		STRATEGIES.put(NormalizedSourceType.NAMED_SECRET, namedSecret());
		STRATEGIES.put(NormalizedSourceType.LABELED_SECRET, labeledSecret());
	}

	Fabric8SecretsPropertySource(Fabric8ConfigContext context) {
		super(getSourceData(context));
	}

	private static SourceData getSourceData(Fabric8ConfigContext context) {<FILL_FUNCTION_BODY>}

	private static Fabric8ContextToSourceData namedSecret() {
		return new NamedSecretContextToSourceDataProvider().get();
	}

	private static Fabric8ContextToSourceData labeledSecret() {
		return new LabeledSecretContextToSourceDataProvider().get();
	}

}

		NormalizedSourceType type = context.normalizedSource().type();
		return Optional.ofNullable(STRATEGIES.get(type)).map(x -> x.apply(context))
				.orElseThrow(() -> new IllegalArgumentException("no strategy found for : " + type));
	
<methods>public void <init>(SourceData) ,public java.lang.String toString() <variables>