/// <summary>
		///     Normalizes the <paramref name="typeSymbol" />.
		/// </summary>
		/// <param name="typeSymbol">The type symbol that should be normalized.</param>
		protected override void NormalizeTypeSymbol(INamedTypeSymbol typeSymbol)
		{
			if (typeSymbol.IsDerivedFromComponent(Compilation))
				GenerateComponentMetadata(typeSymbol);

			if (typeSymbol.IsDerivedFrom(Compilation.GetTypeSymbol<OccurrencePattern>()))
				GenerateOccurrencePatternMetadata(typeSymbol);

			if (typeSymbol.IsDerivedFromFault(Compilation))
				GenerateFaultMetadata(typeSymbol);
		}