public ArrayList<String> locateAllAt(int p_X, int p_Y) throws Exception
    {
        String around = "locate(What," + p_X + "," + p_Y + ").";
        
        ArrayList<String> what = new ArrayList<String>();
        SolveInfo info = m_Engine.solve(around);

        while(info.isSuccess())
        {
            String type = "";
            type = info.getVarValue("What").toString();
            what.add(type);
            
             if(!info.hasOpenAlternatives())
                break;
            info = m_Engine.solveNext();
        }
        
        return what;
    }