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:   public
      constructor Create(Capacity: Integer = 4; Sync: Boolean = True;
        ReadWriteSync: Boolean = False); overload; override;
      constructor Create(Sync: Boolean;
        ReadWriteSync: Boolean = False); overload; override;
  {$IFDEF BCB}
      constructor Create0; virtual; // for C++ Builder
      constructor Create1(Capacity: Integer); virtual; // for C++ Builder
      constructor Create2(Capacity: Integer; Sync: Boolean); virtual; // for C++ Builder
      constructor CreateS(Sync: Boolean); virtual; // for C++ Builder
  {$ENDIF}
      function Add(const Value: Variant): Integer; override;
      procedure AddAll(const AList: IList); overload; override;
      procedure AddAll(const Container: Variant); overload; override;
  
negative.code:     constructor Create(Capacity: Integer = 4; Sync: Boolean = True;
        ReadWriteSync: Boolean = False); overload; virtual; abstract;
      constructor Create(Sync: Boolean;
        ReadWriteSync: Boolean = False); overload; virtual;
      constructor Create(const AList: IList; Sync: Boolean = True;
        ReadWriteSync: Boolean = False); overload; virtual;
      constructor Create(const Container: Variant; Sync: Boolean = True;
        ReadWriteSync: Boolean = False); overload; virtual;
      constructor Create(const ConstArray: array of const; Sync: Boolean = True;
        ReadWriteSync: Boolean = False); overload; virtual;
      {$IFDEF BCB}
          constructor Create0; virtual; // for C++ Builder
          constructor Create1(Capacity: Integer); virtual; // for C++ Builder
          constructor Create2(Capacity: Integer; Sync: Boolean); virtual; // for C++ Builder
          constructor CreateS(Sync: Boolean); virtual; // for C++ Builder
          constructor CreateL1(const AList: IList); virtual; // for C++ Builder
          constructor CreateA1(const Container: Variant); virtual; // for C++ Builder
          constructor CreateCA1(const ConstArray: array of const); virtual; // for C++ Builder
          constructor CreateL2(const AList: IList; Sync: Boolean); virtual; // for C++ Builder
          constructor CreateA2(const Container: Variant; Sync: Boolean); virtual; // for C++ Builder
          constructor CreateCA2(const ConstArray: array of const; Sync: Boolean); virtual; // for C++ Builder
      {$ENDIF}
      destructor Destroy; override;
      function Add(const Value: Variant): Integer; virtual; abstract;
      procedure AddAll(const ArrayList: IList); overload; virtual; abstract;
  