private void stopInstance(ClassMapper classMapper, Object inst, Execution<Object> exec) {
        // We might want to log exactly which steps we
        // have completed.
        if (LOGGER_INSTANCE.getLevel()
            .isEqualOrLowerThan(Level.DEBUG)) {

            LOGGER_INSTANCE.debug(
                "| -> %-76s |",
                limit(exec.toString(), 76)
            );
        }

        try {
            if (!exec.invoke(inst, classMapper) &&
                LOGGER_INSTANCE.getLevel().isEqualOrLowerThan(Level.DEBUG)) {
                LOGGER_INSTANCE.debug(
                    "|      %-74s |",
                    limit("(Ignored due to missing dependencies.)", 74)
                );
            }
        } catch (final IllegalAccessException
            | IllegalArgumentException
            | InvocationTargetException ex) {

            throw new InjectorException(ex);
        }
    }
Create a new {@link InjectorBuilder} using the default implementation but
with a specific {@code ClassLoader}.

@param classLoader the class loader to use
@return the injector builder
common-parent/injector/src/main/java/com/speedment/common/injector/internal/InjectorImpl.java