'Get a language-specific zone handler for the given
directories.
"lang" is the language name, e.g. "Python".
"name" is a user-friendly name for this particular lang-lib,
e.g. "envlib" for set of dirs in PYTHONPATH or "sitelib"
for the dirs in the Perl sitelib. This name is just used
for logging and debugging.
"dirs" is the ordered set of directories in this lib.
"sublang" is used for multi-lang libs to indicate
sub-language for which lookups will be done. For
example, to get a PHP lang lib for which .has_blob()
will search for PHP content (rather than JavaScript)
sublang must be \'PHP\'.  (For single-lang libs
this should be None.)'

def get_lang_lib(self, lang, name, dirs, sublang=None):

    assert isinstance(dirs, (tuple, list))
    lang_zone = self._get_lang_zone(lang)
    if isinstance(lang_zone, MultiLangZone):
        return lang_zone.get_lib(name, dirs, sublang)
    else:
        return lang_zone.get_lib(name, dirs)
