public virtual EndpointDiscoveryMetadata[] FindEndpoints(FindCriteria criteria) { using (@lock.ForReading()) { return MatchTargets(criteria).ToArray(); } }