code: public Iterator<IPv6Network> split(IPv6NetworkMask size)
      {
          if (size.asPrefixLength() < this.getNetmask().asPrefixLength())
              throw new IllegalArgumentException(String.format("Can not split a network of size %s in subnets of larger size %s",
                                                               this.getNetmask().asPrefixLength(), size.asPrefixLength()));
  
          return new IPv6NetworkSplitsIterator(size);
      }
docs: Split a network in smaller subnets of a given size.
  
  @param size size (expressed as {@link com.googlecode.ipv6.IPv6NetworkMask}) of the subnets
  @return iterator of the splitted subnets.
  @throws IllegalArgumentException if the requested size is bigger than the original size