anchor.diff:        try
           ctxt := doLocate(ex.value.primitiveValue);
           try
  -          iterateCodes(TFhirCodeSystemProviderContext(ctxt).context, list);
  +          iterateCodes(TFhirCodeSystemProviderContext(ctxt).context, list, allCodes);
           finally
             Close(ctxt);
           end;
  
positive.code:     destructor Destroy; override;
    end;
  
    TFhirCodeSystemProvider = class (TCodeSystemProvider)
    private
      FCs : TFhirCodeSystemEntry;
      FMap : TFslMap<TFhirCodeSystemConceptW>;
      FFactory : TFHIRFactory;
  
      function LocateCode(code : String) : TFhirCodeSystemConceptW;
      function doLocate(code : String) : TFhirCodeSystemProviderContext; overload;
      function doLocate(list : TFslList<TFhirCodeSystemConceptW>; code : String) : TFhirCodeSystemProviderContext; overload;
      function getParent(ctxt : TFhirCodeSystemConceptW) : TFhirCodeSystemConceptW;
      procedure FilterCodes(dest : TFhirCodeSystemProviderFilterContext; source : TFslList<TFhirCodeSystemConceptW>; filter : TSearchFilterText);
      procedure iterateCodes(base: TFhirCodeSystemConceptW; list: TFhirCodeSystemProviderFilterContext; exception : TFhirCodeSystemConceptW = nil);
      function locCode(list: TFslList<TFhirCodeSystemConceptW>; code: String): TFhirCodeSystemConceptW;
      function getProperty(code : String) : TFhirCodeSystemPropertyW;
      procedure iterateConceptsByProperty(src : TFslList<TFhirCodeSystemConceptW>; pp : TFhirCodeSystemPropertyW; value : String; list: TFhirCodeSystemProviderFilterContext);
  
negative.code:   inherited;
  end;
  
  function TFhirCodeSystemProvider.allCodes(concept: TFhirCodeSystemConceptW): boolean;
  begin
    result := true;
  end;
  
  function TFhirCodeSystemProvider.ChildCount(context: TCodeSystemProviderContext): integer;
  begin
    if context = nil then
  