Quintiq file version 2.0
#parent: #root
Method GetLaneNode (
  output owning shadow[SCVConfiguration] scvConfig,
  shadow[SCVNode] node,
  Lane lane,
  Boolean isupstream
) as shadow[SCVNode] id:Method_FormSupplyChainVisualization_GetLaneNode
{
  #keys: '[134266.1.1601363229]'
  Body:
  [*
    // Retrive lane node that already binds to the lane
    
    inputnode := null( shadow[SCVLaneNode] );
    
    traverse( scvConfig, SCVNode, n, 
              n.istype( shadow[SCVLaneNode] )
              and n.Depth() = node.Depth() + 1
              and n.IsUpstream() = isupstream
              and n.OwnerNodeKey() = node.Key().AsQUILL() )
    {
      existingNode := n.astype( shadow[SCVLaneNode] );
      if( existingNode.Lane() = lane )
      {
        inputnode := existingNode;
      }
    }
    
    return inputnode;
  *]
}
