@Override public VersionRange getIntersection(VersionRange... ranges) { List<VersionRange> list = new ArrayList<>(); for (VersionRange range : ranges) { list.add(range); } MultipleVersionRange intersection = new MultipleVersionRange(list); return new DefaultVersionRange( intersection.getMin(), intersection.isMinInclusive(), intersection.getMax(), intersection.isMaxInclusive()); }