code: def MI_getInstance(self,
                         env,
                         instanceName,
                         propertyList):
          # pylint: disable=invalid-name
          
  
          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
docs: 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.