public virtual void Request(uint target_handle, HandleType handle_type, IDictionary <string, object> properties, bool replace) { IDictionary <string, object> channel_specs = new Dictionary <string, object> (); channel_specs.Add(Constants.CHANNEL_IFACE + ".ChannelType", ChannelType); channel_specs.Add(Constants.CHANNEL_IFACE + ".TargetHandleType", handle_type); channel_specs.Add(Constants.CHANNEL_IFACE + ".TargetHandle", target_handle); if (VerifyRequest(target_handle, properties)) { if (replace) { CleanUpIfClosed(target_handle, GetDispatchingKey(properties)); } CopyRequestProperties(properties, channel_specs); ObjectPath object_path; Requests.CreateChannel(channel_specs, out object_path, out channel_properties); } }