httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternMatcher.java [85:143]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public Set<Entry<String, T>> entrySet() {
        lock.lock();
        try {
            return new HashSet<>(map.entrySet());
        } finally {
            lock.unlock();
        }
    }

    /**
     * Registers the given object for URIs matching the given pattern.
     *
     * @param pattern
     *            the pattern to register the handler for.
     * @param obj
     *            the object.
     */
    @Override
    public void register(final String pattern, final T obj) {
        lock.lock();
        try {
            Args.notNull(pattern, "URI request pattern");
            this.map.put(pattern, obj);
        } finally {
            lock.unlock();
        }
    }

    /**
     * Removes registered object, if exists, for the given pattern.
     *
     * @param pattern
     *            the pattern to unregister.
     */
    @Override
    public void unregister(final String pattern) {
        lock.lock();
        try {
            if (pattern == null) {
                return;
            }
            this.map.remove(pattern);
        } finally {
            lock.unlock();
        }
    }

    /**
     * Looks up an object matching the given request path.
     *
     * @param path
     *            the request path
     * @return object or {@code null} if no match is found.
     */
    @Override
    public T lookup(final String path) {
        lock.lock();
        try {
            Args.notNull(path, "Request path");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



httpcore5/src/main/java/org/apache/hc/core5/http/protocol/UriPatternOrderedMatcher.java [84:138]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public Set<Entry<String, T>> entrySet() {
        lock.lock();
        try {
            return new HashSet<>(map.entrySet());
        } finally {
            lock.unlock();
        }
    }

    /**
     * Registers the given object for URIs matching the given pattern.
     *
     * @param pattern the pattern to register the handler for.
     * @param obj     the object.
     */
    @Override
    public void register(final String pattern, final T obj) {
        lock.lock();
        try {
            Args.notNull(pattern, "URI request pattern");
            this.map.put(pattern, obj);
        } finally {
            lock.unlock();
        }
    }

    /**
     * Removes registered object, if exists, for the given pattern.
     *
     * @param pattern the pattern to unregister.
     */
    @Override
    public void unregister(final String pattern) {
        lock.lock();
        try {
            if (pattern == null) {
                return;
            }
            this.map.remove(pattern);
        } finally {
            lock.unlock();
        }
    }

    /**
     * Looks up an object matching the given request path.
     *
     * @param path the request path
     * @return object or {@code null} if no match is found.
     */
    @Override
    public T lookup(final String path) {
        lock.lock();
        try {
            Args.notNull(path, "Request path");
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



