class NumberUtils {

  public static BigInteger byteArrayToPositive(final byte[] rawBytes) {
    if (null == rawBytes || rawBytes.length == 0) {
      return BigInteger.ZERO;
    }

    byte[] canonicalBytes = rawBytes;
    if ((rawBytes[0] & 0x80) != 0) {
      canonicalBytes = new byte[rawBytes.length + 1];
      canonicalBytes[0] = 0x00;
      System.arraycopy(rawBytes, 0, canonicalBytes, 1, rawBytes.length);
    }
    return new BigInteger(canonicalBytes);
  }

}