code: protected static <R extends AddressSection, S extends AddressSegment> R add(
  			R section, BigInteger increment, AddressCreator<?, R, ?, S> addrCreator, Integer prefixLength) {
  		if(section.isMultiple()) {
  			throw new IllegalArgumentException();
  		}
  		int segCount = section.getSegmentCount();
  		BigInteger fullValue = section.getValue();
  		fullValue = fullValue.add(increment);
  		byte bytes[] = fullValue.toByteArray();
  		return addrCreator.createSectionInternal(bytes, segCount, prefixLength, true);
  	}
docs: this does not handle overflow, overflow should be checked before calling this