public void SetRight(int rightSourceIndex)
        {
            HasRight = true;

            _rightJoiner = CreateJoinerData(false);

            _rightJoiner.SourceIndex = rightSourceIndex;

            JoinerAdded?.Invoke(_rightJoiner);

            if (_leftJoiners.Count == 0)
            {
                _rightJoiner.Set(_right);
            }
        }
        public void AddLeft(int leftSourceIndex, TLeft left)
        {
            if (_leftJoiners.Count == 0)
            {
                _rightJoiner?.Clear();
            }

            var data = CreateJoinerData(true);

            data.SourceIndex = leftSourceIndex;

            _leftJoiners.Add(data);

            JoinerAdded?.Invoke(data);

            data.Set(left, _right);
        }