private void BulkUpdate(IEnumerable <ObjectDescriptor> updates)
        {
            var spliter = new EntityDescriptorSpliter {
                MaxCount = _WebView.GetMaxAcceptableArguments() - 1
            };

            var packer = new ObjectChildrenDescriptionPacker();

            foreach (var entityDescriptor in spliter.SplitParameters(updates))
            {
                var arguments = GetUpdateParameters(entityDescriptor, packer);
                BulkObjectsUpdater.ExecuteFunctionNoResult(_WebView, null, arguments);
            }
        }
        private IJavascriptObject[] GetUpdateParameters(Parameters updates, ObjectChildrenDescriptionPacker packer)
        {
            var sizes = packer.Pack(updates.ObjectDescriptors);
            var res   = new IJavascriptObject[updates.Count + 1];

            res[0] = _WebView.Factory.CreateString(sizes);
            var count = 1;

            foreach (var father in updates.ObjectDescriptors)
            {
                res[count++] = father.Father.JsValue;
                foreach (var attribute in father.AttributeValues)
                {
                    res[count++] = attribute.JsValue;
                }
            }
            return(res);
        }