code: def intersection(self, meta):
          
          keys = self._streams[0].stream_id.meta_data.keys()
          return StreamId(self.node_id, dict(*zip((kk, meta[kk]) for kk in keys)))
docs: Get the intersection between the meta data given and the meta data contained within the plates.
          Since all of the streams have the same meta data keys (but differing values) we only need to consider
          the first stream.
          :param meta: The meta data to compare
          :return: A stream id with the intersection between this node's meta data and the given meta data
          :type meta: dict
          :rtype: StreamId