-------------------------------------------------------------------------------

Source code as follows:

public class R8Test {

    public byte[] toBytes(boolean on) {
        byte[] bytes = new byte[3];
        bytes[0] = 1;
        BitSet bits = new BitSet(8);
        byte[] byteArray = bits.toByteArray();
        if (byteArray != null && byteArray.length >= 1) {
            bytes[1] = bits.toByteArray()[0];
        }
        BitSet bitSet = new BitSet(8);
        bytes[2] = bitSet.toByteArray()[0];
        return bytes;
    }
}
-------------------------------------------------------------------------------

smail as follws:

.method public toBytes(Z)[B
    .registers 6

    new-instance p0, Ljava/util/BitSet;

    const/16 p1, 0x8

    invoke-direct {p0, p1}, Ljava/util/BitSet;-><init>(I)V

    invoke-virtual {p0}, Ljava/util/BitSet;->toByteArray()[B

    move-result-object v1

    const/4 v2, 0x0

    const/4 v3, 0x1

    if-eqz v1, :cond_18

    array-length v1, v1

    if-lt v1, v3, :cond_18

    invoke-virtual {p0}, Ljava/util/BitSet;->toByteArray()[B

    move-result-object p0

    aget-byte v0, p0, v2

    :cond_18
    new-instance p0, Ljava/util/BitSet;

    invoke-direct {p0, p1}, Ljava/util/BitSet;-><init>(I)V

    invoke-virtual {p0}, Ljava/util/BitSet;->toByteArray()[B

    move-result-object p0

    aget-byte p0, p0, v2

    const/4 p1, 0x3

    new-array p1, p1, [B

    aput-byte v3, p1, v2

    aput-byte v0, p1, v3

    const/4 v0, 0x2

    aput-byte p0, p1, v0

    return-object p1
.end method
-------------------------------------------------------------------------------