public int checkVolatileUp(int a_x, int a_y, Vector<Enemy> a_enemies, Vector<Item> a_items)
    {
        int numCoins = 0;
        int i = a_y;
        boolean end = false;

        int currentBlockIndex = (int)(a_x / MAP_BLOCK_LENGTH);
        int currentXInBlockIndex = (int)(a_x % MAP_BLOCK_LENGTH);

        while(!end && i < 15)
        {
            int jumpHeight = i - a_y;
            byte dataInMap = getBlock(currentBlockIndex)
                               .read(currentXInBlockIndex,i);
            if(Map.isSomethingSolid(dataInMap) || dataInMap == Map.MAP_SOFT_OBSTACLE)
            {
                //Something solid up. I cant reach higher, end of analysis.
                end = true;
            }
            else
            {
                //Check for coins
                if ((m_coinCollection.get(a_x) != null) && (m_coinCollection.get(a_x).contains(i)))
                {
                    //A coin! :D
                    if(jumpHeight <= MAX_JUMP_HEIGHT_PUSH)
                    {
                        numCoins++;
                    }
                }
            
                //Check for enemies
                Enemy here = thereIsEnemy(m_enemyCollection.get(a_x), i);
                if ( here != null )
                {
                    //An enemy! :S
                    a_enemies.add(here);
                }

                Item hereIt = thereIsItem(m_itemCollection.get(a_x), i);
                if ( hereIt != null )
                {
                    //An item! :D
                    a_items.add(hereIt);
                }

                ++i;
            }
        }

        return numCoins;
    }