'Standard caching helper which keeps track of classes
already retrieved by name and returns the existing object
if found. If this is the first retrieval, store it and
pass it back'

def _cached_classes(self, class_name):

    if (class_name not in self._classes_map):
        self._classes_map[class_name] = _wmi_class(self, self._namespace.Get(class_name))
    return self._classes_map[class_name]
