query.go
func TakeWhile(subject Enumerable, criteria func(interface{}, uint) bool) Enumerable {
	return takeWhiler{
		original: subject,
		criteria: criteria,
	}
}
func TakeWhile(subject Enumerable, criteria func(interface{}, uint) bool) Enumerable {
	return takeWhiler{
		original: subject,
		criteria: criteria,
	}
}
func TakeWhile ( subject Enumerable , criteria func ( interface { } , uint ) bool ) Enumerable { return takeWhiler { original : subject , criteria : criteria , } }
// TakeWhile creates a reusable stream which will halt once some criteria is no longer met.
TakeWhile creates a reusable stream which will halt once some criteria is no longer met .