For example, if InputTypes =, we have 3 calls: Gather(InOperationData, StartIndex, Range, InOptions, InCallbacks, 0, Signature); Gather(InOperationData, StartIndex, Range, InOptions, InCallbacks, 1, Signature, IntValues); Gather(InOperationData, StartIndex, Range, InOptions, InCallbacks, 2, Signature<>, IntValues, FloatValues);