Perhaps we should check if the data-stream is already present rather then of checking for the parent or does that check catch something else I'm not thinking of?