security/src/main/java/io/airlift/security/csr/SignatureAlgorithmIdentifier.java
private static void writePart(OutputStream out, final int number)
            throws IOException
    {
        if (number < 128) {
            out.write((byte) number);
            return;
        }

        int numberOfBits = Integer.SIZE - Integer.numberOfLeadingZeros(number);
        int numberOfParts = (numberOfBits + 6) / 7;
        for (int i = 0; i < numberOfParts - 1; i++) {
            int partToEncode = (numberOfParts - i);
            int shiftSize = (partToEncode - 1) * 7;
            int part = (number >>> shiftSize) & 0x7F | 0x80;
            out.write(part);
        }
        out.write(number & 0x7f);
    }
private static void writePart(OutputStream out, final int number)
            throws IOException
    {
        if (number < 128) {
            out.write((byte) number);
            return;
        }

        int numberOfBits = Integer.SIZE - Integer.numberOfLeadingZeros(number);
        int numberOfParts = (numberOfBits + 6) / 7;
        for (int i = 0; i < numberOfParts - 1; i++) {
            int partToEncode = (numberOfParts - i);
            int shiftSize = (partToEncode - 1) * 7;
            int part = (number >>> shiftSize) & 0x7F | 0x80;
            out.write(part);
        }
        out.write(number & 0x7f);
    }
private static void writePart ( OutputStream out , final int number ) throws IOException { if ( number < 128 ) { out . write ( ( byte ) number ) ; return ; } int numberOfBits = Integer . SIZE - Integer . numberOfLeadingZeros ( number ) ; int numberOfParts = ( numberOfBits + 6 ) / 7 ; for ( int i = 0 ; i < numberOfParts - 1 ; i ++ ) { int partToEncode = ( numberOfParts - i ) ; int shiftSize = ( partToEncode - 1 ) * 7 ; int part = ( number >>> shiftSize ) & 0x7F | 0x80 ; out . write ( part ) ; } out . write ( number & 0x7f ) ; }
Encode an OID number part.  The encoding is a big endian varint.
Encode an OID number part . The encoding is a big endian varint .