anchor.diff:      function IsGroup: Boolean;
       function IsHouse: Boolean;
   
  -    function ObjToString(const aSeparator: String = '|'): String; virtual;
  -    function ObjToStringShort(const aSeparator: String = '|'): String; virtual;
  +    function ObjToString(const aSeparator: String = '|'): String; override;
  +    function ObjToStringShort(const aSeparator: String = '|'): String; override;
     end;
   
     TKMHandEntityPointer<T> = class abstract(TKMHandEntity)
  
positive.code:     procedure Save(SaveStream: TKMemoryStream); virtual;
  
      property UID: Integer read GetUID;
    end;
  
    { Common class for TKMUnit / TKMHouse / TKMUnitGroup }
  
negative.code: 
  function TKMHandEntity.ObjToStringShort(const aSeparator: String = '|'): String;
  begin
    Result := inherited ObjToStringShort(aSeparator) +
              Format('%sPos = %s', [aSeparator, Position.ToString]);
  end;
  
  
  function TKMHandEntity.ObjToString(const aSeparator: String = '|'): String;
  begin
    Result := inherited ObjToString(aSeparator) +
              Format('%sOwner = %d%sPositionF = %s%sAllowAllyToSel = %s',
                     [aSeparator,
                      Owner, aSeparator,
  