/// <summary>
        /// Vytvori asynchronne volanie na metodu zabezpecujucu vytvorenie eventu
        /// oznamujuceho prijatie dat
        /// </summary>
        /// <param name="e">DataEventArgs</param>
        protected override void OnReceivedData(DataEventArgs e)
        {
            //base event
            base.OnReceivedData(e);

            //lock
            lock (this.m_lockObject)
            {
                //check buffer
                if (this.m_buffer == null)
                {
                    this.m_buffer = new List<Byte>();
                }

                //add data to buffer
                this.m_buffer.AddRange(e.Data);

                //find frame
                Frame frame = this.internalFindFrame(this.m_buffer);
                if (frame != null)
                {
                    //send receive event
                    this.OnReceivedFrame(new FrameEventArgs(frame, e.RemoteEndPoint));
                }
            }
        }
		/// <summary>
		/// Vytvori asynchronne volanie na metodu zabezpecujucu vytvorenie eventu
		/// oznamujuceho prijatie dat
		/// </summary>
		/// <param name="e">EventArgs obsahujuci data</param>
		protected virtual void OnReceivedData(DataEventArgs e)
		{
			DataEventHandler handler = this.m_receivedDataEvent;

			if (handler != null)
				handler(this, e);
		}