code: def setInstrument(self, instrument, override_analyses=False):
          
          analyses = [an for an in self.getAnalyses()
                      if (not an.getInstrument() or override_analyses) and
                      an.isInstrumentAllowed(instrument)]
          total = 0
          for an in analyses:
              # An analysis can be done using differents Methods.
              # Un method can be supported by more than one Instrument,
              # but not all instruments support one method.
              # We must force to set the instrument's method too. Otherwise,
              # the WS manage results view will display the an's default
              # method and its instruments displaying, only the instruments
              # for the default method in the picklist.
              instr_methods = instrument.getMethods()
              meth = instr_methods[0] if instr_methods else None
              if meth and an.isMethodAllowed(meth):
                  if an.getMethod() not in instr_methods:
                      an.setMethod(meth)
  
              an.setInstrument(instrument)
              total += 1
  
          self.getField('Instrument').set(self, instrument)
          return total
docs: Sets the specified instrument to the Analysis from the
              Worksheet. Only sets the instrument if the Analysis
              allows it, according to its Analysis Service and Method.
              If an analysis has already assigned an instrument, it won't
              be overriden.
              The Analyses that don't allow the instrument specified will
              not be modified.
              Returns the number of analyses affected