private ConnectorInfo GetInfo(IMessageAdapter adapter)
        {
            if (adapter == null)
            {
                throw new ArgumentNullException("adapter");
            }

            var info = ConnectorsInfo.FirstOrDefault(i => i.TransactionAdapterType.IsInstanceOfType(adapter) || i.MarketDataAdapterType.IsInstanceOfType(adapter));

            if (info == null)
            {
                throw new ArgumentException(LocalizedStrings.Str1553Params.Put(adapter.GetType()), "adapter");
            }

            return(info);
        }
        private ConnectorInfo GetInfo(IMessageSessionHolder sessionHolder)
        {
            if (sessionHolder == null)
            {
                throw new ArgumentNullException("sessionHolder");
            }

            var info = ConnectorsInfo.FirstOrDefault(i => i.SessionHolderType.IsInstanceOfType(sessionHolder));

            if (info == null)
            {
                throw new ArgumentException(LocalizedStrings.Str1553Params.Put(sessionHolder.GetType()), "sessionHolder");
            }

            return(info);
        }
        //private static IMessageAdapter GetInnerAdapter(IMessageAdapter adapter)
        //{
        //	while (true)
        //	{
        //		var wrapper = adapter as IMessageAdapterWrapper;
        //		if (wrapper == null)
        //			break;

        //		adapter = wrapper.InnerAdapter;
        //	}

        //	return adapter;
        //}

        private GridRow CreateRow(IMessageAdapter adapter)
        {
            if (adapter == null)
            {
                throw new ArgumentNullException(nameof(adapter));
            }

            var innerAdapter = adapter.Clone();            //GetInnerAdapter(adapter);

            var info = ConnectorsInfo.FirstOrDefault(i => i.AdapterType.IsInstanceOfType(innerAdapter));

            if (info == null)
            {
                throw new ArgumentException(LocalizedStrings.Str1553Params.Put(innerAdapter.GetType()), nameof(adapter));
            }

            return(new GridRow(info, adapter /*, innerAdapter*/)
            {
                IsEnabled = Adapter.InnerAdapters[adapter] != -1
            });
        }