public static BlockAccumulatorContext Create(Expression item, HandlebarsConfiguration configuration)
 {
     BlockAccumulatorContext context = null;
     if(IsConditionalBlock(item))
     {
         context = new ConditionalBlockAccumulatorContext(item);
     }
     else if(IsBlockHelper(item, configuration))
     {
         context = new BlockHelperAccumulatorContext(item);
     }
     else if(IsIteratorBlock(item))
     {
         context = new IteratorBlockAccumulatorContext(item);
     }
     else if(IsDeferredBlock(item))
     {
         context = new DeferredBlockAccumulatorContext(item);
     }
     return context;
 }
        public static BlockAccumulatorContext Create(Expression item, HandlebarsConfiguration configuration)
        {
            BlockAccumulatorContext context = null;

            if (IsConditionalBlock(item))
            {
                context = new ConditionalBlockAccumulatorContext(item);
            }
            else if (IsBlockHelper(item, configuration))
            {
                context = new BlockHelperAccumulatorContext(item);
            }
            else if (IsIteratorBlock(item))
            {
                context = new IteratorBlockAccumulatorContext(item);
            }
            else if (IsDeferredBlock(item))
            {
                context = new DeferredBlockAccumulatorContext(item);
            }
            return(context);
        }