public static void skipFully(InputStream input, long toSkip) throws IOException {
        if (toSkip < 0) {
            throw new IllegalArgumentException("Bytes to skip must not be negative: " + toSkip);
        }
        long skipped = skip(input, toSkip);
        if (skipped != toSkip) {
            throw new EOFException("Bytes to skip: " + toSkip + " actual: " + skipped);
        }
    }
Skip the requested number of bytes or fail if there are not enough left.
<p>
This allows for the possibility that {@link InputStream#skip(long)} may
not skip as many bytes as requested (most likely because of reaching EOF).

@param input  stream to skip
@param toSkip the number of bytes to skip
@throws IOException              if there is a problem reading the file
@throws IllegalArgumentException if toSkip is negative
@throws EOFException             if the number of bytes skipped was incorrect
@see InputStream#skip(long)
@since 2.0
pay-java-common/src/main/java/com/egzosn/pay/common/util/IOUtils.java