SamplePositionGenerator trait