@Override
    public String toString() {
        if (size() <= 0) {
            return "{}";
        }

        StringBuilder buffer = new StringBuilder(mSize * 28);
        buffer.append('{');
        for (int i = 0; i < mSize; i++) {
            if (i > 0) {
                buffer.append(", ");
            }
            long key = keyAt(i);
            buffer.append(key);
            buffer.append('=');
            Object value = valueAt(i);
            if (value != this) {
                buffer.append(value);
            } else {
                buffer.append("(this Map)");
            }
        }
        buffer.append('}');
        return buffer.toString();
    }
{@inheritDoc}

<p>This implementation composes a string by iterating over its mappings. If
this map contains itself as a value, the string "(this Map)"
will appear in its place.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/util/collection/LongSparseArray.java