docs: def _call_method(self, method_name, *args, **kwargs):
          """Call the corresponding method using RIBCL, RIS or REDFISH
  
          Make the decision to invoke the corresponding method using RIBCL,
          RIS or REDFISH way. In case of none, throw out ``NotImplementedError``
          """
          if self.use_redfish_only:
              if method_name in SUPPORTED_REDFISH_METHODS:
                  the_operation_object = self.redfish
              else:
                  raise NotImplementedError()
          else:
              the_operation_object = self.ribcl
              if 'Gen10' in self.model:
                  if method_name in SUPPORTED_REDFISH_METHODS:
                      the_operation_object = self.redfish
                  else:
                      if (self.is_ribcl_enabled is not None
                              and not self.is_ribcl_enabled):
                          raise NotImplementedError()
              elif ('Gen9' in self.model) and (method_name in
                                               SUPPORTED_RIS_METHODS):
                  the_operation_object = self.ris
  
          method = getattr(the_operation_object, method_name)
  
          LOG.debug(self._("Using %(class)s for method %(method)s."),
                    {'class': type(the_operation_object).__name__,
                     'method': method_name})
  
          return method(*args, **kwargs)