anchor.diff:    private
       fTableName: string;
       fOpenProperties: Integer;
  -    fProperties: TDictionary<string, TUSBuilderProperty>;
  +    fProperties: TObjectDictionary<string, TUSBuilderProperty>;
     protected
       function QueryDB(aOraSession: TOraSession; const aObjectIds: string): Boolean; //returns true if all properties are "closed"
       procedure BuildProperties(aOraSession: TOraSession; aSelectedObjects: TArray<string>);
     public
  -    procedure AddProperty(const aPropertyName: string);
  +    procedure AddProperty(const aSelectProperty: TSelectProperty);
       function AddValue(const aPropertyName, aValue: string): Boolean; //returns true if all properties are "closed"
  -    function GetJSON(aOraSession: TOraSession): string;
  +    function GetJSON: string;
       function Open: Boolean;
     end;
   
  
positive.code:   PROPERTY_DESCRIPTION := StringField('PROPERTY_DESCRIPTION');
    OBJECT_TYPE := StringField('OBJECT_TYPE');
    GEOMETRY_TYPE := StringField('GEOMETRY_TYPE');
    _published := IntField('PUBLISHED');
  end;
  
  
negative.code: 
    TMetaBaseLayer = TObjectDictionary<string, TMetaBaseLayerEntry>;
  
    TUSBuilderProperty = class
    constructor Create(aSelectProperty: TSelectProperty);
    destructor Destroy; override;
    public
      distinctCount: Integer;
      name: string;
      description: string;
      editable: Boolean;
      value: string;
    public
      function AddValue(const aValue: string): Boolean; //returns true if it's the second or more distinct value being added (value will stay '')
  