Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method GetLaneNode ( 
 | 
  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 
 | 
    scvconfig := DataHolderSCVConfiguration.Data(); 
 | 
     
 | 
    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; 
 | 
  *] 
 | 
} 
 |