public DayRoute GetProbableRoute(String mode)
    {
        double groupSel = Math.random()*100;
        int grpIndex = 0,leftVal=0;
        ArrayList<DayRoute> groupSet = new ArrayList();
        Random routePicker = new Random();
        
        for(Double groupFactor : GroupLoading)
        {
            //System.out.println(" Random Sel : " + groupFactor);
            if(groupSel <= groupFactor)
            {
                // Select this group
                for(DayRoute dr : dayRouteList)
                {
                    if(mode.equals("DIST"))
                    {
                        leftVal = dr.GetDistGroupIndex();
                    }
                    else if(mode.equals("HOPS"))
                    {
                        leftVal = dr.GetHopGroupIndex();
                    }
                    else if(mode.equals("DISTHOPS"))
                    {
                        leftVal = dr.GetGroupIndex();
                    }
                    
                    if(leftVal == grpIndex)
                    {
                        groupSet.add(dr);
                    }
                }
                
                return groupSet.get(routePicker.nextInt(groupSet.size()));                
            }
            grpIndex ++;
        }
        //System.out.println(" No Sel : " + mode + " :" + groupSel);
        
        return null;
    }