docs: @Override
  	public int countByG_C_C_L_M(long groupId, long classNameId, long classPK,
  		String languageId, boolean main) {
  		FinderPath finderPath = FINDER_PATH_COUNT_BY_G_C_C_L_M;
  
  		Object[] finderArgs = new Object[] {
  				groupId, classNameId, classPK, languageId, main
  			};
  
  		Long count = (Long)finderCache.getResult(finderPath, finderArgs, this);
  
  		if (count == null) {
  			StringBundler query = new StringBundler(6);
  
  			query.append(_SQL_COUNT_CPFRIENDLYURLENTRY_WHERE);
  
  			query.append(_FINDER_COLUMN_G_C_C_L_M_GROUPID_2);
  
  			query.append(_FINDER_COLUMN_G_C_C_L_M_CLASSNAMEID_2);
  
  			query.append(_FINDER_COLUMN_G_C_C_L_M_CLASSPK_2);
  
  			boolean bindLanguageId = false;
  
  			if (languageId == null) {
  				query.append(_FINDER_COLUMN_G_C_C_L_M_LANGUAGEID_1);
  			}
  			else if (languageId.equals("")) {
  				query.append(_FINDER_COLUMN_G_C_C_L_M_LANGUAGEID_3);
  			}
  			else {
  				bindLanguageId = true;
  
  				query.append(_FINDER_COLUMN_G_C_C_L_M_LANGUAGEID_2);
  			}
  
  			query.append(_FINDER_COLUMN_G_C_C_L_M_MAIN_2);
  
  			String sql = query.toString();
  
  			Session session = null;
  
  			try {
  				session = openSession();
  
  				Query q = session.createQuery(sql);
  
  				QueryPos qPos = QueryPos.getInstance(q);
  
  				qPos.add(groupId);
  
  				qPos.add(classNameId);
  
  				qPos.add(classPK);
  
  				if (bindLanguageId) {
  					qPos.add(languageId);
  				}
  
  				qPos.add(main);
  
  				count = (Long)q.uniqueResult();
  
  				finderCache.putResult(finderPath, finderArgs, count);
  			}
  			catch (Exception e) {
  				finderCache.removeResult(finderPath, finderArgs);
  
  				throw processException(e);
  			}
  			finally {
  				closeSession(session);
  			}
  		}
  
  		return count.intValue();
  	}