public static void throwInterruptedIoException() throws InterruptedIOException {
        // This is typically thrown in response to an
        // InterruptedException which does not leave the thread in an
        // interrupted state, so explicitly interrupt here.
        Thread.currentThread().interrupt();
        // TODO: set InterruptedIOException.bytesTransferred
        throw new InterruptedIOException();
    }
Closes 'socket', ignoring any exceptions. Does nothing if 'socket' is null.
common/src/main/java/org/conscrypt/io/IoUtils.java