Method 2 is currently unreliable and needs work. We need to fix it, so multiple application of different specification work consistently. It can be complex, because aggregating FilterConditions results and CheckConditions results and then exposing the overall result in a single SpecificationResult is not entirely trivial.
Once it is fixed and tested thoroughly, we should remove method 1 and only expose method 2.
Currently, we have two methods to apply input Specifications to a List of objects:
ApplySpecification(List<IBHoMObject> objects, Specification specification)
ApplySpecifications(List<IBHoMObject> objects, List<Specification> specifications)
Method 2 is currently unreliable and needs work. We need to fix it, so multiple application of different specification work consistently. It can be complex, because aggregating FilterConditions results and CheckConditions results and then exposing the overall result in a single SpecificationResult is not entirely trivial.
Once it is fixed and tested thoroughly, we should remove method 1 and only expose method 2.