code: private static void writeOidPart(ByteArrayOutputStream out, final int number)
      {
          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);
      }
docs: Encode an OID number part.  The encoding is a big endian varint.