### Question:
AddressSet implements AddressSetView { @Override public boolean intersects(AddressSetView addrSet) { int thisSize = getNumAddressRanges(); int thatSize = addrSet.getNumAddressRanges(); if (thisSize == 0 || thatSize == 0) { return false; } if (thisSize < thatSize) { return addrSet.intersects(this); } if (useLinearAlgorithm(addrSet)) { return intersectsLinear(addrSet); } return intersectsBinary(addrSet); } AddressSet(); @Deprecated  AddressSet(AddressFactory factory);  AddressSet(AddressRange range); @Deprecated  AddressSet(AddressFactory factory, AddressRange range);  AddressSet(Address start, Address end); @Deprecated  AddressSet(AddressFactory factory, Address start, Address end);  AddressSet(Program program, Address start, Address end); @Deprecated  AddressSet(AddressFactory factory, AddressSetView set);  AddressSet(AddressSetView set); @Deprecated  AddressSet(AddressFactory factory, Address addr);  AddressSet(Address addr); final void add(Address address); final void add(AddressRange range); void add(Address start, Address end); void addRange(Address start, Address end); void addRange(Program program, Address start, Address end); final void add(AddressSetView addressSet); final void delete(AddressRange range); final void delete(Address start, Address end); final void deleteRange(Address start, Address end); final void delete(AddressSetView addressSet); void clear(); String printRanges(); List<AddressRange> toList(); @Override final boolean contains(Address address); @Override final boolean contains(Address start, Address end); @Override final boolean contains(AddressSetView addrSet); @Override final boolean hasSameAddresses(AddressSetView addrSet); @Override final boolean equals(Object obj); @Override int hashCode(); @Override boolean intersects(AddressSetView addrSet); @Override final AddressSet intersectRange(Address start, Address end); @Override final AddressSet intersect(AddressSetView addrSet); @Override final AddressSet union(AddressSetView addrSet); @Override final AddressSet subtract(AddressSetView addrSet); @Override boolean isEmpty(); @Override Address getMinAddress(); @Override Address getMaxAddress(); @Override int getNumAddressRanges(); @Override Iterator<AddressRange> iterator(); @Override Iterator<AddressRange> iterator(boolean forward); @Override Iterator<AddressRange> iterator(Address start, boolean forward); @Override AddressRangeIterator getAddressRanges(); @Override AddressRangeIterator getAddressRanges(boolean forward); @Override AddressRangeIterator getAddressRanges(Address start, boolean forward); @Override long getNumAddresses(); @Override AddressIterator getAddresses(boolean forward); @Override AddressIterator getAddresses(Address start, boolean forward); @Override boolean intersects(Address start, Address end); @Override AddressSet xor(AddressSetView addrSet); @Override final String toString(); @Override AddressRange getRangeContaining(Address address); @Override AddressRange getFirstRange(); @Override AddressRange getLastRange(); @Override Address findFirstAddressInCommon(AddressSetView set);  }### Answer:
@Test public void testIntersects() { AddressSet empty = set(); for (int i = 0; i < SIZE; i++) { boolean isEmpty = aINTERSECTb[i].equals(empty); Assert.assertEquals("case: " + i + " ", !isEmpty, a[i].intersects(b[i])); } }