@SafeVarargs
    public final QualifiedType<T> with(Class<? extends Annotation>... newQualifiers) {
        Set<Annotation> annotations = Arrays.stream(newQualifiers)
            .map(AnnotationFactory::create)
            .collect(toUnmodifiableSet());
        return new QualifiedType<>(type, annotations);
    }
Returns a QualifiedType that has the same type as this instance, but with <b>only</b> the given qualifiers.

@param newQualifiers the qualifiers for the new qualified type.
@throws IllegalArgumentException if any of the given qualifier types have annotation attributes.
@return the QualifiedType
core/src/main/java/org/jdbi/v3/core/qualifier/QualifiedType.java