class BTree {
    private BTree zero;
    private BTree one;
    private Object value;


    public void addString(String path, Object value) {<FILL_FUNCTION_BODY>}

    public BTree down(int b) {
        if (b == 0)
            return zero;
        else
            return one;
    }

    public Object getValue() {
        return value;
    }
}

        if (path.length() == 0) {
            this.value = value;
            return;
        }
        char charAt = path.charAt(0);
        BTree branch;
        if (charAt == '0') {
            if (zero == null)
                zero = new BTree();
            branch = zero;
        } else {
            if (one == null)
                one = new BTree();
            branch = one;
        }
        branch.addString(path.substring(1), value);
    
<no_super_class>