anchor.diff:    data.ToArray()
     |> Array.map(fun d ->
       match d.__class with
  +    | StartsWith "PageStep" ()
       | StartsWith "StageStep" () 
       | StartsWith "StepStep" ()  -> analyzeEntity d.steps.list fields
       | StartsWith "ControlStep" () -> 
  -      ( d.controlId, 
  -        d.dataFieldName, 
  -        getControlClass d.controlId d.classId,
  -        None) :: fields
  +      match box d.controlId with
  +      | null -> fields
  +      | _ ->
  +        let controlClass = getControlClass d.controlId d.classId
  +        ( d.controlId, 
  +          d.dataFieldName, 
  +          controlClass,
  +          match box d.entity, controlClass with
  +          | e, Lookup when e <> null -> Some (sprintf "\"%s\"" d.entity.entityName)
  +          | _, _ -> None
  +        ) :: fields
       | _ -> fields
     ) |> List.concat
   
  
positive.code:     x |> Array.map snd 
      |> List.concat 
      |> List.distinctBy (fun (id,_,_,_) -> id)
      |> List.map (fun (id, datafieldname, controlClass, _) -> 
        sprintf "header_process_%s" id, datafieldname, controlClass, None))
    |> Map.ofArray
negative.code:     dataFieldName: string
      [<field: DataMember(Name = "classId")>]
      classId: string
      [<field: DataMember(Name = "entity")>]
      entity: RelatedEntity
    }
  
  and [<DataContract>]RelatedEntity =
    {
      [<field: DataMember(Name = "__class")>]
      __class: string
      [<field: DataMember(Name = "parameterName")>]
      parameterName: string
      [<field: DataMember(Name = "entityName")>]
      entityName: string
      [<field: DataMember(Name = "relatedAttributeName")>]
      relatedAttributeName: string
      [<field: DataMember(Name = "relationshipName")>]
      relationshipName: string
    }
  
  /// Recursive helper function to analyze a BPF json file
  