bundles/org.tukani.xz/src/org/tukaani/xz/LZMA2Options.java
public void setPb(int pb) throws UnsupportedOptionsException {
        if (pb < 0 || pb > PB_MAX)
            throw new UnsupportedOptionsException(
                    "pb must not exceed " + PB_MAX + ": " + pb);

        this.pb = pb;
    }
public void setPb(int pb) throws UnsupportedOptionsException {
        if (pb < 0 || pb > PB_MAX)
            throw new UnsupportedOptionsException(
                    "pb must not exceed " + PB_MAX + ": " + pb);

        this.pb = pb;
    }
Sets the number of position bits.
<p>
This affects what kind of alignment in the uncompressed data is
assumed in general. The default (2) means four-byte alignment
(2^<code>pb</code> = 2^2 = 4), which is often a good choice when
there's no better guess.
<p>
When the alignment is known, setting the number of position bits
accordingly may reduce the file size a little. For example with text
files having one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), using
<code>setPb(0)</code> can improve compression slightly. For UTF-16
text, <code>setPb(1)</code> is a good choice. If the alignment is
an odd number like 3 bytes, <code>setPb(0)</code> might be the best
choice.
<p>
Even though the assumed alignment can be adjusted with
<code>setPb</code> and <code>setLp</code>, LZMA2 still slightly favors
16-byte alignment. It might be worth taking into account when designing
file formats that are likely to be often compressed with LZMA2.

@throws      UnsupportedOptionsException
<code>pb</code> is invalid