/// <summary>
        /// Ends the specified result.
        /// Hides the inherited End from CompletedAsyncResult
        /// This method returns a collection of metadata
        /// </summary>
        /// <param name="result">The result.</param>
        /// <returns></returns>
        public static new Collection <EndpointDiscoveryMetadata> End(IAsyncResult result)
        {
            FindAsyncResult thisPtr = AsyncResult.End <FindAsyncResult>(result);

            return(thisPtr.matchingEndpoints);
        }
 /// <summary>
 /// Override this method to handle the completion of a find operation.
 /// </summary>
 /// <param name="result">A reference to the completed asynchronous operation.</param>
 protected override void OnEndFind(IAsyncResult result)
 {
     FindAsyncResult.End(result);
 }