private void FillStrategyChain(MockStrategyChain chain, int index) { lock (_lockObject) { if (_innerChain != null) { _innerChain.FillStrategyChain(chain, index); } chain.AddRange(_stages[index]); } }
/// <summary> /// Makes a strategy chain based on this instance. /// </summary> /// <returns>A new <see cref="MockStrategyChain"/>.</returns> public IStrategyChain MakeStrategyChain() { lock (_lockObject) { var result = new MockStrategyChain(); for (int index = 0; index < _stages.Length; ++index) { FillStrategyChain(result, index); } return(result); } }