@Override
    public <T> Optional<T> getAfter(Class<T> type, T before) {
        requireNonNull(type);
        requireNonNull(before);

        boolean found = false;
        for (Iterator<T> i = stream(type).iterator(); i.hasNext(); ) {
            final T t = i.next();
            if (found) {
                return Optional.of(t);
            }
            if (t == before) {
                found = true;
            }
        }
        return Optional.empty();
    }
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