code: def _filter_properties(obj, property_list):
          
          if property_list is not None:
              property_list = [p.lower() for p in property_list]
              for pname in obj.properties.keys():
                  if pname.lower() not in property_list:
                      del obj.properties[pname]
docs: Remove properties from an instance or class that aren't in the
          plist parameter
  
          obj(:class:`~pywbem.CIMClass` or :class:`~pywbem.CIMInstance):
              The class or instance from which properties are to be filtered
  
          property_list(list of :term:`string`):
              List of properties which are to be included in the result. If
              None, remove nothing.  If empty list, remove everything. else
              remove properties that are not in property_list. Duplicated names
              are allowed in the list and ignored.