code: public IPv4AddressSection getEmbeddedIPv4AddressSection(int startIndex, int endIndex) {
  		if(startIndex == ((IPv6Address.MIXED_ORIGINAL_SEGMENT_COUNT - this.addressSegmentIndex) << 1) && endIndex == (getSegmentCount() << 1)) {
  			return getEmbeddedIPv4AddressSection();
  		}
  		IPv4AddressCreator creator = getIPv4Network().getAddressCreator();
  		IPv4AddressSegment[] segments = creator.createSegmentArray((endIndex - startIndex) >> 1);
  		int i = startIndex, j = 0;
  		if(i % IPv6Address.BYTES_PER_SEGMENT == 1) {
  			IPv6AddressSegment ipv6Segment = getSegment(i >> 1);
  			i++;
  			ipv6Segment.getSplitSegments(segments, j - 1, creator);
  			j++;
  		}
  		for(; i < endIndex; i <<= 1, j <<= 1) {
  			IPv6AddressSegment ipv6Segment = getSegment(i >> 1);
  			ipv6Segment.getSplitSegments(segments, j, creator);
  		}
  		return createEmbeddedSection(creator, segments, this);
  	}
docs: Produces an IPv4 address section from any sequence of bytes in this IPv6 address section
  
  @param startIndex the byte index in this section to start from
  @param endIndex the byte index in this section to end at
  @throws IndexOutOfBoundsException
  @return
  
  @see #getEmbeddedIPv4AddressSection()
  @see #getMixedAddressSection()