Quintet extends Tuple implements AValue<A>, BValue<B>, CValue<C>, DValue<D>, EValue<E> { public static <A extends Message, B extends Message, C extends Message, D extends Message, E extends Message> Quintet<A, B, C, D, E> of(A a, B b, C c, D d, E e) { checkAllNotNullOrEmpty(a, b, c, d, e); Quintet<A, B, C, D, E> result = new Quintet<>(a, b, c, d, e); return result; } private  Quintet(A a, B b, C c, D d, E e); static Quintet<A, B, C, D, E> of(A a, B b, C c, D d, E e); static Quintet<A, B, C, D, Optional<E>> withNullable(A a, B b, C c, D d, @Nullable E e); static Quintet<A, B, C, Optional<D>, Optional<E>> withNullable2(A a, B b, C c, @Nullable D d, @Nullable E e); static Quintet<A, B, Optional<C>, Optional<D>, Optional<E>> withNullable3(A a, B b, @Nullable C c, @Nullable D d, @Nullable E e); static Quintet<A, Optional<B>, Optional<C>, Optional<D>, Optional<E>> withNullable4(A a, @Nullable B b, @Nullable C c, @Nullable D d, @Nullable E e); @Override A getA(); @Override B getB(); @Override C getC(); @Override D getD(); @Override E getE();  }
@Test @DisplayName(NOT_ACCEPT_NULLS) void passNullToleranceCheck() { new NullPointerTester().setDefault(Message.class, newViola()) .setDefault(Optional.class, Optional.of(newViolinCello())) .testAllPublicStaticMethods(Quintet.class); }