Details
Description
Loading a shape file with a large number of features takes an inordinately large amount of time. On closer investigation, this was found to be the result of a large number of calls to the equals() method in DefaultFeature. On closer inspection, it was found that the hashcode() method in DefaultFeature consistently returned 0, leading to the performance issue.
Due to the immutable nature of FeatureType, it would be prudent to calculate the FeatureType hash at instantiation and store it.