/// <summary> /// Derives another RemoteConnectorInfoManagerImpl with /// a different RemoteFrameworkConnectionInfo but with the /// same metadata /// </summary> /// <param name="info"></param> public RemoteConnectorInfoManagerImpl Derive(RemoteFrameworkConnectionInfo info) { RemoteConnectorInfoManagerImpl rv = new RemoteConnectorInfoManagerImpl(); IList <Object> remoteInfosObj = (IList <Object>)SerializerUtil.CloneObject(_connectorInfo); IList <ConnectorInfo> remoteInfos = CollectionUtil.NewList <object, ConnectorInfo>(remoteInfosObj); foreach (ConnectorInfo remoteInfo in remoteInfos) { ((RemoteConnectorInfoImpl)remoteInfo).RemoteConnectionInfo = (info); } rv._connectorInfo = CollectionUtil.AsReadOnlyList(remoteInfos); return(rv); }