/// <summary>
        /// new document
        /// </summary>
        /// <param name="head"></param>
        protected override void newDoc(HeadEntity head)
        {
            List<ItemEntity> items = head.Items;

            foreach (ItemEntity itemEntity in items)
            {
                MasterDataIdentity id = itemEntity.GLAccount;
                DocumentIndexItem item;

                if (!_list.TryGetValue(id, out item))
                {
                    item = new DocumentIndexItem(_coreDriver, id);
                    _list.Add(id, item);
                }
                item.addDoc(head);
                // add amount
                CurrencyAmount amount = itemEntity.Amount;
                if (itemEntity.CdIndicator == CreditDebitIndicator.CREDIT)
                {
                    amount.Negate();
                }
                item.addAmount(head.MonthID, amount);
            }
        }
        /// <summary>
        /// new document
        /// </summary>
        /// <param name="head"></param>
        protected override void newDoc(HeadEntity head)
        {
            List <ItemEntity> items = head.Items;

            foreach (ItemEntity itemEntity in items)
            {
                MasterDataIdentity id = itemEntity.GLAccount;
                DocumentIndexItem  item;

                if (!_list.TryGetValue(id, out item))
                {
                    item = new DocumentIndexItem(_coreDriver, id);
                    _list.Add(id, item);
                }
                item.addDoc(head);
                // add amount
                CurrencyAmount amount = itemEntity.Amount;
                if (itemEntity.CdIndicator == CreditDebitIndicator.CREDIT)
                {
                    amount.Negate();
                }
                item.addAmount(head.MonthID, amount);
            }
        }