public static void RegisterStatement <StatementT>( Func <ILanguage, String> statementNameGetter, Func <StatementT, Xml.Statement> statementXmlGetter, Type xmlType, StatementConsistencyCheckerDelegate <StatementT> consistencyChecker) where StatementT : IStatement { Statements.Define(new StatementDefinition <StatementT>(statementNameGetter, statementXmlGetter, xmlType, consistencyChecker)); }