public void GetDataFromFrame(object sender, InputFrameArgs args)
        {
            int inputPort = args.PortNumber;
            List<StreamData> streamForPort = new List<StreamData>();
            Dictionary<StreamData, string> streamsData = new Dictionary<StreamData, string>();
            foreach (StreamData stream in Streams)
            {
                if (stream.Port == inputPort)
                {
                    string content = null;

                    VirtualContainer vc = (VirtualContainer)args.Frame.GetVirtualContainer(stream.VcLevel, stream.HigherPath, stream.LowerPath);
                    if (vc != null)
                    {
                        Container conteriner = vc.Content.Count > 0 ? vc.Content[0] as Container : null;

                        if (conteriner != null)
                        {
                            content = conteriner.Content;
                            if (content == null || content.Equals(""))
                            {
                                continue;
                            }
                        }
                        else
                        {
                            content = "Error: Container does not transport client data";
                        }
                    }
                    else
                    {
                        content = "Error: Container does not transport client data";
                    }

                    streamsData.Add(stream, content);
                }
            }

            if (HandleClientData != null)
            {
                HandleClientData(new ClientData(streamsData));
            }
        }
        private void HandleIncomFrame(object sender, InputFrameArgs args)
        {
            IFrame bufferedFrame = args.Frame;
            Dictionary<int, IFrame> outputFrames = new Dictionary<int, IFrame>();
            CommuteFrame(args.PortNumber, bufferedFrame, outputFrames);

            transportData(outputFrames);
        }