Sets the specified wire as the link's main wire
        This is done automatically during the first wire() call

        Keyword Arguments:

            - wire (Wire): if None, use the first wire instance found

        Returns:

            - Wire: the new main wire instance

def set_main_wire(self, wire=None):

        """
        Sets the specified wire as the link's main wire
        This is done automatically during the first wire() call

        Keyword Arguments:

            - wire (Wire): if None, use the first wire instance found

        Returns:

            - Wire: the new main wire instance
        """

        if not wire:
            for k in dir(self):
                if isinstance(getattr(self, k), Wire):
                    wire = getattr(self, k)
                    break
        elif not isinstance(wire, Wire):
            raise ValueError("wire needs to be a Wire instance")

        if not isinstance(wire, Wire):
            wire = None

        self.main = wire
        return wire