public override void CreateEdgeTo(TransportAddress ta, EdgeCreationCallback ecb)
{
SubringTransportAddress sta = ta as SubringTransportAddress;
if(sta == null) {
ecb(false, null, new Exception("TA Type is not Subring!"));
} else if(!sta.Namespace.Equals(_shared_node.Realm)) {
ecb(false, null, new Exception("Namespace mismatch"));
} else if(sta.Target.Equals(_private_node.Address)) {
ecb(false, null, new Exception("You are me!"));
} else {
SubringEdge se = new SubringEdge(_local_ta, sta, false,
new AHExactSender(_shared_node, sta.Target), _ptype);
se.CloseEvent += CloseHandler;
_it.Add(se);
ecb(true, se, null);
}
}