def MI_getInstance(self,
                       env,
                       instanceName,
                       propertyList):
        # pylint: disable=invalid-name
        """Return a specific CIM instance

        Implements the WBEM operation GetInstance in terms
        of the get_instance method.  A derived class will not normally
        override this method.

        """

        logger = env.get_logger()
        logger.log_debug('CIMProvider2 MI_getInstance called...')
        plist = None
        if propertyList is not None:
            plist = [s.lower() for s in propertyList]
            plist += [s.lower() for s in instanceName.keybindings.keys()]
        model = pywbem.CIMInstance(classname=instanceName.classname,
                                   path=instanceName, property_list=plist)
        model.update(model.path.keybindings)

        rval = self.get_instance(env=env, model=model)
        logger.log_debug('CIMProvider2 MI_getInstance returning')
        if rval is None:
            raise pywbem.CIMError(pywbem.CIM_ERR_NOT_FOUND, "")
        return rval
Return a specific CIM instance

        Implements the WBEM operation GetInstance in terms
        of the get_instance method.  A derived class will not normally
        override this method.