private EndpointAddressProcessor CreateProcessor(int length)
        {
            EndpointAddressProcessor processor = null;

            lock (this.processorPool)
            {
                ProcessorPool <TFilterData> target = this.processorPool.Target as ProcessorPool <TFilterData>;
                if (target != null)
                {
                    processor = target.Pop();
                }
            }
            if (processor != null)
            {
                processor.Clear(length);
                return(processor);
            }
            return(new EndpointAddressProcessor(length));
        }
        EndpointAddressProcessor CreateProcessor(int length)
        {
            EndpointAddressProcessor p = null;

            lock (processorPool)
            {
                ProcessorPool pool = processorPool.Target as ProcessorPool;
                if (null != pool)
                {
                    p = pool.Pop();
                }
            }

            if (null != p)
            {
                p.Clear(length);
                return(p);
            }

            return(new EndpointAddressProcessor(length));
        }