anchor.diff:    FCount := 0;
     SetLength(FList, FCapacity);
   end;
  -
  -constructor TArrayList.Create(Sync, ReadWriteSync: Boolean);
  -begin
  -  Create(4, Sync, ReadWriteSync);
  -end;
  -
  -{$IFDEF BCB}
  -constructor TArrayList.Create0;
  -begin
  -  Create;
  -end;
  -constructor TArrayList.Create1(Capacity: Integer);
  -begin
  -  Create(Capacity);
  -end;
  -constructor TArrayList.Create2(Capacity: Integer; Sync: Boolean);
  -begin
  -  Create(Capacity, Sync);
  -end;
  -
  -constructor TArrayList.CreateS(Sync: Boolean);
  -begin
  -  Create(Sync);
  -end;
  -{$ENDIF}
   
   function TArrayList.Delete(Index: Integer): Variant;
   begin
  
positive.code: 
  { TAbstractList }
  
  destructor TAbstractList.Destroy;
  begin
    Clear;
  
negative.code:   public
      constructor Create(Capacity: Integer = 4; Sync: Boolean = True;
        ReadWriteSync: Boolean = False); overload; override;
      function Add(const Value: Variant): Integer; override;
      procedure AddAll(const AList: IList); overload; override;
      procedure AddAll(const Container: Variant); overload; override;
  