@Override
    public String toString () {
        StringBuilder sb = new StringBuilder(TrackerResponse.class.getSimpleName());

        sb.append("{");

        if (failed) {
            sb.append("FailureReason=\"");
            sb.append(failureReason);
            sb.append("\"");
        } else {
            sb.append("Warning=\"");
            sb.append(warning);

            sb.append("\"; Interval=");
            sb.append(interval);

            sb.append("; MinInterval=");
            sb.append(minInterval);

            sb.append("; TrackerId=[");
            sb.append((trackerId == null) ? null : new String(trackerId, Charset.forName("ISO-8859-1")));

            sb.append("]; Complete=");
            sb.append(complete);

            sb.append("; Incomplete=");
            sb.append(incomplete);

            sb.append("; Peers=");
            sb.append(peers);
        }

        return sb.append("}").toString();
    }