@CheckReturnValue public static <T, C extends List<T>> ListSubject<? extends ListSubject<?, T, C>, T, C> assertThat(List<T> target) { return ListSubject.create(getFailureStrategy(), target); }
@CheckReturnValue public static <K, V, M extends Map<K, V>> MapSubject<? extends MapSubject<?, K, V, M>, K, V, M> assertThat(Map<K, V> target) { return MapSubject.create(getFailureStrategy(), target); }
@CheckReturnValue public static <T, C extends Iterable<T>> IterableSubject<? extends IterableSubject<?, T, C>, T, C> assertThat(Iterable<T> target) { return IterableSubject.create(getFailureStrategy(), target); }
@CheckReturnValue public static PrimitiveDoubleArraySubject assertThat(double[] target) { return new PrimitiveDoubleArraySubject(getFailureStrategy(), target); }
@CheckReturnValue public static PrimitiveCharArraySubject assertThat(char[] target) { return new PrimitiveCharArraySubject(getFailureStrategy(), target); }
@CheckReturnValue public static <T, C extends Collection<T>> CollectionSubject<? extends CollectionSubject<?, T, C>, T, C> assertThat(Collection<T> target) { return CollectionSubject.create(getFailureStrategy(), target); }
@CheckReturnValue public static PrimitiveIntArraySubject assertThat(int[] target) { return new PrimitiveIntArraySubject(getFailureStrategy(), target); }
@CheckReturnValue public static PrimitiveLongArraySubject assertThat(long[] target) { return new PrimitiveLongArraySubject(getFailureStrategy(), target); }
@CheckReturnValue public static Subject<DefaultSubject, Object> assertThat(Object target) { return new DefaultSubject(getFailureStrategy(), target); }
@CheckReturnValue public static StringSubject assertThat(String target) { return new StringSubject(getFailureStrategy(), target); }
@CheckReturnValue public static <T> ObjectArraySubject<T> assertThat(T[] target) { return new ObjectArraySubject<T>(getFailureStrategy(), target); }
@CheckReturnValue public static PrimitiveBooleanArraySubject assertThat(boolean[] target) { return new PrimitiveBooleanArraySubject(getFailureStrategy(), target); }
@CheckReturnValue public static IntegerSubject assertThat(Long target) { return new IntegerSubject(getFailureStrategy(), target); }
@CheckReturnValue public static IntegerSubject assertThat(Integer target) { return new IntegerSubject(getFailureStrategy(), target); }
@CheckReturnValue public static BooleanSubject assertThat(Boolean target) { return new BooleanSubject(getFailureStrategy(), target); }
@CheckReturnValue public static PrimitiveFloatArraySubject assertThat(float[] target) { return new PrimitiveFloatArraySubject(getFailureStrategy(), target); }
@CheckReturnValue public static <T> OptionalSubject<T> assertThat(Optional<T> target) { return new OptionalSubject<T>(getFailureStrategy(), target); }
@CheckReturnValue @GwtIncompatible("ClassSubject.java") public static ClassSubject assertThat(Class<?> target) { return new ClassSubject(getFailureStrategy(), target); }