<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def initialize(config):
 """Initialize method. :param config: current application config, injected :type config: Config """

        service_injection_config = config.get('SERVICE_INJECTION', ())

        if not isinstance(service_injection_config, (tuple, list)):
            service_injection_config = (service_injection_config,)

        for si_conf in service_injection_config:
            if isinstance(si_conf, str):
                package_name, cls_name = si_conf.rsplit('.', 1)
                ServiceInitializer._bind_service(package_name, cls_name)
            elif isinstance(si_conf, dict):
                services = si_conf['list']
                service_package = si_conf['package']

                for cls_name in services:
                    module_name = camelcase_to_underscore(cls_name)
                    package_name = "{0}.{1}".format(service_package, module_name)
                    ServiceInitializer._bind_service(package_name, cls_name)