code: protected Iterator<MACAddress> iterator(MACAddress original) {
  		MACAddressCreator creator = getAddressCreator();
  		boolean isSingle = !isMultiple();
  		return iterator(
  				isSingle ? original : null, 
  				creator,//using a lambda for this one results in a big performance hit
  				isSingle ? null : segmentsIterator(),
  				getNetwork().getPrefixConfiguration().allPrefixedAddressesAreSubnets() ? null : getPrefixLength());
  	}
docs: these are the iterators used by MACAddress