<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_library(self, library, lib_type=VERSION_STORE, **kwargs):
 """ Create an Arctic Library or a particular type. Parameters library : `str` The name of the library. e.g. 'library' or 'user.library' lib_type : `str` The type of the library. e.g. arctic.VERSION_STORE or arctic.TICK_STORE Or any type registered with register_library_type Default: arctic.VERSION_STORE kwargs : Arguments passed to the Library type for initialization. """

        lib = ArcticLibraryBinding(self, library)
        # check that we don't create too many namespaces
        # can be disabled check_library_count=False
        check_library_count = kwargs.pop('check_library_count', True)
        if len(self._conn[lib.database_name].list_collection_names()) > 5000 and check_library_count:
            raise ArcticException("Too many namespaces %s, not creating: %s" %
                                  (len(self._conn[lib.database_name].list_collection_names()), library))
        lib.set_library_type(lib_type)
        LIBRARY_TYPES[lib_type].initialize_library(lib, **kwargs)
        # Add a 10G quota just in case the user is calling this with API.
        if not lib.get_quota():
            lib.set_quota(10 * 1024 * 1024 * 1024)

        self._cache.append('list_libraries', self._sanitize_lib_name(library))