@throws illegalargumentexception if the filter is {@code null}or files contains a {@code null} value.
@return a subset of files that is accepted by thefile filter.
@param filter the filter to apply to the set of files.
@param files the array of files to apply the filter to.
@description
applies an {@link iofilefilter} to the provided {@link file}objects. the resulting array is a subset of the original file list thatmatches the provided filter.
the {@link set} returned by this method is not guaranteed to be thread safe.