/// <summary>
        /// Registers the array lookup helper.
        /// arguments[0] =
        /// arguments[1] =
        /// arguments[2] =
        /// </summary>
        /// <param name="hbs">The HBS.</param>
        private void RegisterArrayLookupHelper(HandlebarsDotNet.IHandlebars hbs)
        {
            hbs.RegisterHelper("lookup", (writer, options, context, arguments) =>
            {
                object[] arr;
                if (arguments[0] is IEnumerable <object> )
                {
                    var en = arguments[0] as IEnumerable <object>;
                    arr    = en.ToArray();
                }
                else
                {
                    arr = (object[])arguments[0];
                }

                var field = arguments[1].ToString();
                var value = arguments[2].ToString();
                foreach (var arrayItem in arr)
                {
                    object member = DynamicUtils.GetMemberValue(arrayItem, field);
                    if (value.Equals(member))
                    {
                        options.Template(writer, (object)arrayItem);
                    }
                }
                options.Inverse(writer, (object)context);
            });

            /*
             * hbs.RegisterHelper("arraylookup", (writer, context, parameters) =>
             * {
             *  try
             *  {
             *      object[] arr;
             *      if (parameters[0] is IEnumerable<Object>)
             *      {
             *          var en = parameters[0] as IEnumerable<Object>;
             *          arr = en.ToArray();
             *      }
             *      else
             *      {
             *          arr = (object[])parameters[0];
             *      }
             *
             *      var value = parameters[1].ToString();
             *      var text = parameters[2].ToString();
             *      var key = parameters[3].ToString();
             *      foreach (var item in collection)
             *      {
             *
             *      }
             *      object res = b[i];
             *      string c = parameters[2].ToString();
             *      HandlebarsDotNet.HandlebarsExtensions.
             *      //HandlebarsDotNet.HandlebarsExtensions.WriteSafeString(writer, res.ToString());
             *  }
             *  catch (Exception)
             *  {
             *      HandlebarsDotNet.HandlebarsExtensions.WriteSafeString(writer, "");
             *  }
             * });
             */
        }