public String toString(Class delegatingClass) {   StringBuffer b = new StringBuffer(delegatingClass.getName()); String superMsg = super.getMessage(); if (superMsg != null) { b.append(": ").append(superMsg); } if (m_rootCause != null) { b.append(" (root cause: ").append(m_rootCause.toString()); b.append(")"); } return b.toString();
public String toString() { return toString(this.getClass());
    public String toString(Class delegatingClass) {        // default toString calls getMessage, so we don't want to rely on it        // here.        StringBuffer b = new StringBuffer(delegatingClass.getName());        String superMsg = super.getMessage();        if (superMsg != null) {            b.append(": ").append(superMsg);        }        if (m_rootCause != null) {            b.append(" (root cause: ").append(m_rootCause.toString());            b.append(")");        }        return b.toString();    }