@Override
	public void eachEffect(final EachApplicable<Ability> applier)
	{
		final List<Ability> affects = this.affects;
		if (affects != null)
		{
			try
			{
				for (int a = 0; a < affects.size(); a++)
					applier.apply(affects.get(a));
			}
			catch (final java.lang.IndexOutOfBoundsException x)
			{
			}
		}
		final List<Ability> racialEffects = racialEffects();
		try
		{
			if (!racialEffects.isEmpty())
			{
				for (final Ability A : racialEffects)
					applier.apply(A);
			}
		}
		catch (final java.lang.IndexOutOfBoundsException x)
		{
		}
		try
		{
			for (final Ability A : clanEffects())
				applier.apply(A);
		}
		catch (final java.lang.IndexOutOfBoundsException x)
		{
		}
	}