code: public void growInternal(int amount ) {
          int tmp[] = new int[ data.length + amount ];
  
          System.arraycopy(data,0,tmp,0,data.length);
          this.data = tmp;
      }
docs: Increases the internal array's length by the specified amount. Previous values are preserved.
  The length value is not modified since this does not change the 'meaning' of the array, just
  increases the amount of data which can be stored in it.
  
  this.data = new data_type[ data.length + amount ]
  
  
  @param amount Number of elements added to the internal array's length