class DexDataWriter extends BufferedOutputStream {

    public void writeEncodedLong(int valueType, long value) throws IOException {
        int index = 0;
        if (value >= 0) {
            while (value > 0x7f) {
                tempBuf[index++] = (byte)value;
                value >>= 8;
            }
        } else {
            while (value < -0x80) {
                tempBuf[index++] = (byte)value;
                value >>= 8;
            }
        }
        tempBuf[index++] = (byte)value;
        writeEncodedValueHeader(valueType, index-1);
        write(tempBuf, 0, index);
    }

    public  DexDataWriter(@Nonnull OutputStream output, int filePosition);
    public  DexDataWriter(@Nonnull OutputStream output, int filePosition, int bufferSize);

}