public List<Integer> Get_BEGINS(List<Integer> symbolIndexList){
		List<Integer> tempList = new ArrayList<Integer>();
		// go through whole row
		for (int i = 0; i < symbolIndexList.size(); ++i){	
			List<Integer> retList = Get_BEGINS(symbolIndexList.get(i));
			for (int j = 0; j < retList.size(); ++j){
				if (!tempList.contains(retList.get(j))) tempList.add(retList.get(j));
			}
			if (!mSymbolsEx.get(symbolIndexList.get(i)).mIsEmpty) break;
		}
		
		return tempList;
	}