# Path: pypipeline/core/Destination.py
# class Destination:
#     def __init__(self, plumber, params):
#         self.plumber = plumber
#         self.params = params
# 
#     def process(self, exchange):
#         raise NotImplementedError("Subclass of destination needs to implement process method")
# 
# Path: pypipeline/util/ExchangeUtil.py
# def copy_exchange(ex):


from pypipeline.core.Destination import Destination
from pypipeline.util import ExchangeUtil


class Channel:
    def __init__(self, plumber, params):
        self.next = None
        self.plumber = plumber

# Path: pypipeline/core/Destination.py
# class Destination:
#     def __init__(self, plumber, params):
#         self.plumber = plumber
#         self.params = params
# 
#     def process(self, exchange):
#         raise NotImplementedError("Subclass of destination needs to implement process method")
# 
# Path: pypipeline/util/ExchangeUtil.py
# def copy_exchange(ex):


# Path: pypipeline/core/Channel.py
from pypipeline.core.Destination import Destination
from pypipeline.util import ExchangeUtil



class Channel:
    def __init__(self, plumber, params):
        self.next = None
        self.plumber = plumber

        if "wiretap" in params and params["wiretap"] is not None: