/// <summary> /// Builds a tree representing the dependencies between items of market data and returns the root node. /// </summary> /// <param name="requirements"> IDs of the market data that must be provided </param> /// <param name="suppliedData"> data supplied by the user </param> /// <param name="marketDataConfig"> configuration specifying how market data values should be built </param> /// <param name="functions"> functions for market data, keyed by the type of market data ID they handle </param> /// <returns> the root node of the market data dependency tree </returns> internal static MarketDataNode buildDependencyTree <T1>(MarketDataRequirements requirements, ScenarioMarketData suppliedData, MarketDataConfig marketDataConfig, IDictionary <T1> functions) { DependencyTreeBuilder treeBuilder = DependencyTreeBuilder.of(suppliedData, requirements, marketDataConfig, functions); return(MarketDataNode.root(treeBuilder.dependencyNodes())); }
//------------------------------------------------------------------------- private static MarketDataNode rootNode(params MarketDataNode[] children) { return(MarketDataNode.root(Arrays.asList(children))); }