public virtual Expression FinalisePopulationBranch( Expression alternatePopulation, IDataSource nextDataSource, IMemberMapperData mapperData) { MultiInvocationsProcessor.Process( this, mapperData, out var condition, out var value, out var variables); var population = mapperData.GetTargetMemberPopulation(value); if (condition != null) { population = (alternatePopulation == null) ? Expression.IfThen(condition, population) : GetBranchedPopulation( condition, population, alternatePopulation, nextDataSource, mapperData); } if (variables.Any()) { population = Expression.Block(variables, population); } return(population); }