### Question:
IdBitMap extends RangeBitmap { @Override public ImmutableBitMap getOr(ImmutableBitMap index) { if (index.contains(start)) { return index; } return super.getOr(index); } private  IdBitMap(int id); int getId(); static ImmutableBitMap of(int id); @Override ImmutableBitMap getAnd(ImmutableBitMap index); @Override ImmutableBitMap getOr(ImmutableBitMap index); @Override ImmutableBitMap clone(); @Override BitMapType getType(); @Override byte[] toBytes(); @Override String toString();  }### Answer:
@Test public void testGetOr() { MutableBitMap m = getMutableBitMap(); int[] a = prepare(m); int id = r.nextInt(BOUND); ImmutableBitMap im = IdBitMap.of(id); ImmutableBitMap or = im.getOr(m); for (int i = 0; i < a.length; i++) { if (i != id) { if ((a[i] == 1) != or.contains(i)) { fail(); } } } if (!or.contains(id)) { fail(); } }