@Nonnull
	public <V1 extends T1, V2 extends T2, V3 extends T3> LToIntTriFunctionBuilder<T1, T2, T3> aCase(Class<V1> argC1, Class<V2> argC2, Class<V3> argC3, LToIntTriFunction<V1, V2, V3> function) {
		PartialCaseWithIntProduct.The pc = partialCaseFactoryMethod((a1, a2, a3) -> (argC1 == null || argC1.isInstance(a1)) && (argC2 == null || argC2.isInstance(a2)) && (argC3 == null || argC3.isInstance(a3)));

		pc.evaluate(function);
		return self();
	}
@ Nonnull public < V1 extends T1 , V2 extends T2 , V3 extends T3 > LToIntTriFunctionBuilder < T1 , T2 , T3 > aCase ( Class < V1 > argC1 , Class < V2 > argC2 , Class < V3 > argC3 , LToIntTriFunction < V1 , V2 , V3 > function ) { PartialCaseWithIntProduct . The pc = partialCaseFactoryMethod ( ( a1 , a2 , a3 ) -> ( argC1 == null || argC1 . isInstance ( a1 ) ) && ( argC2 == null || argC2 . isInstance ( a2 ) ) && ( argC3 == null || argC3 . isInstance ( a3 ) ) ) ; pc . evaluate ( function ) ; return self ( ) ; }
Adds full new case for the argument that are of specific classes (matched by instanceOf, null is a wildcard).