anchor.diff:  procedure TKMDefencePosition.Save(SaveStream: TKMemoryStream);
   begin
     SaveStream.WriteA('DefencePosition');
  +  SaveStream.Write(fWeight);
     SaveStream.Write(fPosition);
  -  SaveStream.Write(fGroupType, SizeOf(fGroupType));
  -  if (fCurrentGroup <> nil) then
  -    SaveStream.Write(fCurrentGroup.UID) //Store ID
  +  if (fGroup <> nil) then
  +    SaveStream.Write(fGroup.UID) //Store ID
     else
       SaveStream.Write(Integer(0));
   end;
  
positive.code: 
  
  { TKMArmyDefence }
  constructor TKMArmyDefence.Create(aPlayer: TKMHandIndex);
  var
    GT: TGroupType;
  begin
  
negative.code: begin
    inherited Create;
    LoadStream.ReadAssert('DefencePosition');
    LoadStream.Read(fWeight);
    LoadStream.Read(fPosition);
    LoadStream.Read(fGroup, 4); //Subst on syncload
  end;
  
  
  procedure TKMDefencePosition.SyncLoad();
  begin
    fGroup := gHands.GetGroupByUID(Cardinal(fGroup));
  end;
  
  
  procedure TKMDefencePosition.SetGroup(aGroup: TKMUnitGroup);
  begin
    gHands.CleanUpGroupPointer(fGroup);
    if (aGroup <> nil) then
      fGroup := aGroup.GetGroupPointer;
  end;
  
  
  