Determine which stream the output is synchronised with. If the incoming streams have different sync values, then
         it is unknown what synchronisation the outgoing stream should have.  
        :param ins: dictionary of the incoming streams' sync values
        :return:

def resolve_out(self, ins):
        """
        Determine which stream the output is synchronised with. If the incoming streams have different sync values, then
         it is unknown what synchronisation the outgoing stream should have.  
        :param ins: dictionary of the incoming streams' sync values
        :return: 
        """
        values = set()
        for value in ins.values():
            values.update(value)
        if len(values) > 1:
            msg = 'Unable to resolve sync stream. Consider adding a custom resolver to {}.'
            raise ValueError(msg.format(self.step.name))
        return {key: values for key in self.step.outs}