anchor.diff:  procedure TUSLayer.handleTableChange(aSender: TSubscribeObject; const aAction, aObjectID: Integer);
   begin
     TMonitor.Enter(fUpdateQueueEvent);
  -    try
  -      begin
  -        try
  -          fUpdateQueue.Add(TUSUpdateQueueEntry.Create(aObjectID, aAction));
  -          fUpdateQueueEvent.SetEvent;
  -        except
  -          on e: Exception do
  -          begin
  -            Log.WriteLn('TUSLayer.handleChangeObject. objectid: ' + aObjectID.ToString + ', action: ' + aAction.ToString+': '+e.Message, llError);
  -          end
  -        end;
  -      end
  -    finally
  -      TMonitor.Exit(fUpdateQueueEvent);
  -    end;
  +  try
  +    begin
  +      try
  +        fUpdateQueue.Add(TUSUpdateQueueEntry.Create(aObjectID, aAction));
  +        fUpdateQueueEvent.SetEvent;
  +      except
  +        on e: Exception do
  +        begin
  +          Log.WriteLn('TUSLayer.handleChangeObject. objectid: ' + aObjectID.ToString + ', action: ' + aAction.ToString+': '+e.Message, llError);
  +        end
  +      end;
  +    end
  +  finally
  +    TMonitor.Exit(fUpdateQueueEvent);
  +  end;
   end;
   
   function TUSLayer.UpdateObject(aQuery: TOraQuery; const oid: TWDID; aObject: TLayerObject): TLayerObject;
  
positive.code: 
  
  function TMetaLayerEntry.CreateUSLayer(aScenario: TScenario; const aTablePrefix: string; const aConnectString: string;
    const aDataEvent: array of TIMBEventEntry; aSourceProjection: TGIS_CSProjectedCoordinateSystem; const aDomain, aName: string): TUSLayer;
  
    function defaultValue(aValue, aDefault: Double): Double; overload;
    begin
  
negative.code:   //TODO: Implement
  end;
  
  { TUSControlsLayer }
  
  constructor TUSControlsLayer.Create(aScenario: TUSScenario; const aDomain, aID, aName, aDescription: string; aDefaultLoad: Boolean;
    const aConnectString: string; aSourceProjection: TGIS_CSProjectedCoordinateSystem);
  begin
    fConnectString := aConnectString;
    fSourceProjection := aSourceProjection;
    //fControls := TObjectDictionary<integer, TUSControl>.Create([doOwnsValues]);
    inherited Create(aScenario, aDomain, aID, aName, aDescription, [], [], aDefaultLoad);
  end;
  
  destructor TUSControlsLayer.Destroy;
  begin
    //FreeAndNil(fControls);
    inherited;
  end;
  
  procedure TUSControlsLayer.handleChangeObject(aAction, aObjectID: Integer; const aObjectName, aAttribute: string);
  begin
    // todo: implement
  end;
  
  procedure TUSControlsLayer.ReadObjects(aSender: TObject);
  begin
    // todo: implement
  
  end;
  
  end.
  