runFeatureTests Change: Uses a SimpleFeatureIterator now instead of a FeatureCollection.
Performs a lookup on the FeatureTypeInfo name to determine what FeatureTests need to be performed. Once these tests are gathered, they are run on each feature in the FeatureCollection. The first validation test lookup checks to see if there are any validations that are to be performed on every FeatureTypeInfo. An example of this could be an isValid() test on all geometries in all FeatureTypes. Once those tests have been gathered, a lookup is performed on the TypeName of the FeatureTypeInfo to check for specific FeatureTypeInfo validation tests. A list of validation tests is returned from each lookup, if any exist. When all the validation tests have been gathered, each test is iterated through then run on each Feature, with the ValidationResults coming along for the ride, collecting error information. Parameter "SimpleFeatureCollection collection" should be changed later to take in a SimpleFeatureSource so not everything is loaded into memory.
@param dsID data Store id.
@param type The FeatureTypeInfo of the features being tested.
@param features The collection of features, of a particulareFeatureTypeInfo "type", that are to be validated.
@param results Storage for the results of the validation tests.
@throws Exception FeatureValidations throw Exceptions