@Override
    public Subscriber getSubscriber(Set<? extends ConfigKey<?>> configKeys) {
        Set<ConfigKey<ConfigInstance>> subscriptionKeys = new HashSet<>();
        for(ConfigKey<?> key: configKeys) {
            @SuppressWarnings("unchecked") // ConfigKey is defined as <CONFIGCLASS extends ConfigInstance>
            ConfigKey<ConfigInstance> invariant = (ConfigKey<ConfigInstance>) key;
            subscriptionKeys.add(invariant);
        }
        CloudSubscriber subscriber = new CloudSubscriber(subscriptionKeys, configSource);
        testGeneration.ifPresent(subscriber.subscriber::reload); // TODO: test specific code, remove
        activeSubscribers.put(subscriber, 0);
        return subscriber;
    }
@Override
    public Subscriber getSubscriber(Set<? extends ConfigKey<?>> configKeys) {
        Set<ConfigKey<ConfigInstance>> subscriptionKeys = new HashSet<>();
        for(ConfigKey<?> key: configKeys) {
            @SuppressWarnings("unchecked")
            ConfigKey<ConfigInstance> invariant = (ConfigKey<ConfigInstance>) key;
            subscriptionKeys.add(invariant);
        }
        CloudSubscriber subscriber = new CloudSubscriber(subscriptionKeys, configSource);
        testGeneration.ifPresent(subscriber.subscriber::reload);
        activeSubscribers.put(subscriber, 0);
        return subscriber;
    }
@override public subscriber getsubscriber(set<? extends configkey<?>> configkeys) { set<configkey<configinstance>> subscriptionkeys = new hashset<>(); for(configkey<?> key: configkeys) { @suppresswarnings("unchecked") configkey<configinstance> invariant = (configkey<configinstance>) key; subscriptionkeys.add(invariant); } cloudsubscriber subscriber = new cloudsubscriber(subscriptionkeys, configsource); testgeneration.ifpresent(subscriber.subscriber::reload); activesubscribers.put(subscriber, 0); return subscriber; }