code: def nodes(self, type=None, failed=False):
          
          if type is None:
              type = Node
  
          if not issubclass(type, Node):
              raise(TypeError("{} is not a valid node type.".format(type)))
  
          if failed not in ["all", False, True]:
              raise ValueError("{} is not a valid node failed".format(failed))
  
          if failed == "all":
              return type\
                  .query\
                  .filter_by(participant_id=self.id)\
                  .all()
          else:
              return type\
                  .query\
                  .filter_by(failed=failed, participant_id=self.id)\
                  .all()
docs: Get nodes associated with this participant.
  
          Return a list of nodes associated with the participant. If specified,
          ``type`` filters by class. By default failed nodes are excluded, to
          include only failed nodes use ``failed=True``, for all nodes use
          ``failed=all``.