code: protected byte[] extractRange(byte[] content, BigInteger offset, BigInteger length) {
  
          if ((offset == null) && (length == null)) {
              return content;
          }
          if (offset == null) {
              offset = BigInteger.ZERO;
          }
          long offsetLong = offset.longValue();
          if (length == null) {
              length = BigInteger.valueOf(content.length - offsetLong);
          }
          long lengthLong = length.longValue();
          return Arrays.copyOfRange(content, (int)offsetLong, Math.min(content.length, (int)(offsetLong + lengthLong)));
      }
docs: Copies a range of bytes from an array into a new array.<p>
  
  @param content the content array
  @param offset the start offset in the array
  @param length the length of the range
  
  @return the bytes from the given range of the content