for (int i=value.length()-1; i>=0; i--) { char ch = value.charAt(i);
BigInteger max = BigInteger.ONE; int length = value.length(); for (int i=0; i<length; i++) { char ch = value.charAt(length-i-1);
    private BigInteger convertStringToBigInt(String value) {        BigInteger total = BigInteger.ZERO;        for (int i=value.length()-1; i>=0; i--) {            char ch = value.charAt(i);            BigInteger val = new BigInteger(Integer.toString(_chars[i].indexOf(ch)));            BigInteger base = new BigInteger(Integer.toString(_chars[i].length()));            base = base.pow(value.length()-1-i);            total = total.add(base.multiply(val));            Thread.yield(); // to keep interactive performance acceptable        }        return total;    }