class DescriptiveUrlBag extends LinkedHashSet<DescriptiveUrl> {

    public DescriptiveUrlBag filter(final DescriptiveUrl.Type... types) {
        final DescriptiveUrlBag filtered = new DescriptiveUrlBag(this);
        filtered.removeIf(url -> !Arrays.asList(types).contains(url.getType()));
        return filtered;
    }

    public  DescriptiveUrlBag();
    public  DescriptiveUrlBag(final java.util.Collection<? extends DescriptiveUrl> c);

}