@Override
	public boolean getSecretSkill(String abilityID)
	{
		boolean secretFound=false;
		for(final Enumeration e=CMClass.charClasses();e.hasMoreElements();)
		{
			final String charClass=((CharClass)e.nextElement()).ID();
			if(completeAbleMap.containsKey(charClass)&&(!charClass.equals("Archon")))
			{
				final Map<String,AbilityMapping> ableMap=completeAbleMap.get(charClass);
				if(ableMap.containsKey(abilityID))
				{
					if(!ableMap.get(abilityID).isSecret())
						return false;
					secretFound=true;
				}
			}
		}
		for(final Enumeration e=CMClass.races();e.hasMoreElements();)
		{
			final String ID=((Race)e.nextElement()).ID();
			if(completeAbleMap.containsKey(ID))
			{
				final Map<String,AbilityMapping> ableMap=completeAbleMap.get(ID);
				if(ableMap.containsKey(abilityID))
				{
					if(!ableMap.get(abilityID).isSecret())
						return false;
					secretFound=true;
				}
			}
		}
		final AbilityMapping AB=getAllAbleMap(abilityID);
		if(AB!=null)
			return AB.isSecret();
		return secretFound;
	}