class ApolloOperation {
    @Autowired
    private Config apolloConfig;

    public String getConfig(String group, String serviceId) {
        return apolloConfig.getProperty(group + "-" + serviceId, null);
    }

    public ConfigChangeListener subscribeConfig(String group, String serviceId, ApolloSubscribeCallback apolloSubscribeCallback) {<FILL_FUNCTION_BODY>}

    public void unsubscribeConfig(String group, String serviceId, ConfigChangeListener configChangeListener) {
        apolloConfig.removeChangeListener(configChangeListener);
    }
}

        ConfigChangeListener configChangeListener = new ConfigChangeListener() {
            @Override
            public void onChange(ConfigChangeEvent changeEvent) {
                ConfigChange change = changeEvent.getChange(group + "-" + serviceId);
                String config = change.getNewValue();
                apolloSubscribeCallback.callback(config);
            }
        };

        apolloConfig.addChangeListener(configChangeListener, Sets.newHashSet(group + "-" + serviceId));

        return configChangeListener;
    
<no_super_class>