public static DelegateSerializer Create()
        {
            var typeResolver        = new TypeResolver();
            var typeInfoDataBuilder = new TypeInfoDataConverter();

            return(new DelegateSerializer(typeResolver,
                                          typeInfoDataBuilder,
                                          new MethodInfoDataConverter(typeInfoDataBuilder),
                                          new ExceptionHandlingClauseDataConverter(typeInfoDataBuilder, typeResolver),
                                          new ConstructorInfoDataConverter(typeInfoDataBuilder),
                                          new LocalVariableInfoDataConverter(typeInfoDataBuilder, typeResolver)));
        }
 internal DelegateSerializer(TypeResolver typeResolver,
                             TypeInfoDataConverter typeInfoDataConverter,
                             MethodInfoDataConverter methodInfoDataConverter,
                             ExceptionHandlingClauseDataConverter exceptionHandlingClauseDataConverter,
                             ConstructorInfoDataConverter constructorInfoDataConverter,
                             LocalVariableInfoDataConverter localVariableInfoDataConverter)
 {
     this.typeResolver            = typeResolver;
     this.typeInfoDataConverter   = typeInfoDataConverter;
     this.methodInfoDataConverter = methodInfoDataConverter;
     this.exceptionHandlingClauseDataConverter = exceptionHandlingClauseDataConverter;
     this.constructorInfoDataConverter         = constructorInfoDataConverter;
     this.localVariableInfoDataConverter       = localVariableInfoDataConverter;
 }