public String multiply(String a, String b) {
        if (a == null || b == null)
            return a;
        if (a.length() == 0) {
            return b;
        } else if (b.length() == 0) {
            return a;
        }
        int k = 0;
        while (k < a.length()) {
            if (a.charAt(k) != '0')
                break;
            k++;
        }
        a = a.substring(k, a.length());
        k = 0;
        while (k < a.length()) {
            if (a.charAt(k) != '0')
                break;
            k++;
        }

        b = b.substring(k, b.length());

        if (a.length() == 0 || b.length() == 0 || a.equals("0") || b.equals("0"))
            return "0";

        StringBuilder min = new StringBuilder(a.length() <= b.length() ? a : b);
        StringBuilder max = new StringBuilder(a.length() > b.length() ? a : b);

        StringBuilder res = new StringBuilder();
        for (int i = min.length() - 1; i >= 0; i--) {
            StringBuilder sb = go(max, (int) (min.charAt(i) - '0'));
            if (res.length() == 0) {
                res = sb;
            } else {
                sb.append(zeros(min.length() - 1 - i));
                res = add(res, sb);
            }
        }
        return res.toString();
    }
Why Did you create this class? what does it do?
src/problems/medium/MultiplyStrings.java