private int?GetPort(Msg.Address address)
 {
     if (!address.HasPort)
     {
         return(null);
     }
     return((int)address.Port);
 }
        private string GetProtocol(Msg.Address address)
        {
            var p  = address.Protocol;
            var pc = _protocolCache;

            if (pc == p)
            {
                return(pc);
            }

            _protocolCache = p;
            return(p);
        }
        private string GetSystem(Msg.Address address)
        {
            var s  = address.System;
            var sc = _systemCache;

            if (sc == s)
            {
                return(sc);
            }

            _systemCache = s;
            return(s);
        }
 private Address AddressFromProto(Msg.Address address)
 {
     return(new Address(GetProtocol(address), GetSystem(address), address.Hostname, GetPort(address)));
 }