code: public int push(int i)
    {
  
      if ((m_firstFree + 1) >= m_mapSize)
      {
        m_mapSize += m_blocksize;
  
        int newMap[] = new int[m_mapSize];
  
        System.arraycopy(m_map, 0, newMap, 0, m_firstFree + 1);
  
        m_map = newMap;
      }
  
      m_map[m_firstFree] = i;
  
      m_firstFree++;
  
      return i;
    }
docs: Pushes an item onto the top of this stack.
  
  @param   i   the int to be pushed onto this stack.
  @return  the <code>item</code> argument.