static void throwInjectorException(DependencyGraph graph, Execution<Object> exec, Exception ex) {
        INTERNAL_LOGGER.error("Exception thrown by method invoked by Injector:");
        if (ex.getCause() != null) {
            INTERNAL_LOGGER.error("Exception: " + ex.getCause().getClass().getSimpleName());
        }
        INTERNAL_LOGGER.error("Class: " + exec.getType().getName());
        INTERNAL_LOGGER.error("    @ExecuteBefore(" + exec.getState().name() + ")");

        if (exec instanceof ReflectionExecutionImpl) {
            final Method method = ((ReflectionExecutionImpl<?>) exec).getMethod();
            INTERNAL_LOGGER.error(format("   %s %s %s%s",
                Modifier.toString(method.getModifiers()),
                method.getReturnType().getSimpleName(),
                method.getName(),
                method.getParameterCount() == 0 ? "()" : "("));

            if (method.getParameterCount() > 0) {
                Stream.of(method.getParameters())
                    .map(param -> formatParameter(graph, param))
                    .forEachOrdered(INTERNAL_LOGGER::error);
                INTERNAL_LOGGER.error("    );");
            }
        }
        throw new InjectorException(ex);
    }
Default implementation of the {@link InjectorBuilder}-interface.

@author Emil Forslund
@since  1.2.0
common-parent/injector/src/main/java/com/speedment/common/injector/internal/InjectorBuilderImpl.java