public ExtensionMetadata build() {
            // add all methods that are declared on the extension type and
            // are not static and don't already have a handler

            final Set<Method> seen = new HashSet<>(methodHandlers.keySet());
            for (Method method : extensionTypeMethods) {
                // skip static methods and methods that already have method handlers
                if (Modifier.isStatic(method.getModifiers()) || !seen.add(method)) {
                    continue;
                }

                // look through the registered extension handler factories to find extension handlers
                ExtensionHandler handler = findExtensionHandlerFor(extensionType, method)
                        .orElseGet(() -> ExtensionHandler.missingExtensionHandler(method));


                // apply extension handler customizers
                for (ExtensionHandlerCustomizer extensionHandlerCustomizer : extensionHandlerCustomizers) {
                    handler = extensionHandlerCustomizer.customize(handler, extensionType, method);
                }

                methodHandlers.put(method, handler);
            }

            configCustomizerFactories.forEach(configCustomizerFactory -> configCustomizerFactory.forExtensionType(extensionType)
                    .forEach(this::addInstanceConfigCustomizer));

            for (Method method : methodHandlers.keySet()) {
                // call all method configurer factories.
                configCustomizerFactories.forEach(configCustomizerFactory ->
                        configCustomizerFactory.forExtensionMethod(extensionType, method)
                                .forEach(configCustomizer -> this.addMethodConfigCustomizer(method, configCustomizer)));
            }

            return new ExtensionMetadata(extensionType, instanceConfigCustomizer, methodConfigCustomizers, methodHandlers, finalizer);
        }
Creates a new {@link ExtensionMetadata} object.

@return A {@link ExtensionMetadata} object
core/src/main/java/org/jdbi/v3/core/extension/ExtensionMetadata.java