@@ -0,0 +1,2148 @@
+package org.ccci.gto.android.common.util;%0A%0Aimport android.os.Parcel;%0Aimport android.os.Parcelable;%0Aimport android.support.annotation.NonNull;%0Aimport android.support.v4.util.LongSparseArray;%0A%0Apublic class LongSparseBooleanArray extends LongSparseArray%3CBoolean%3E implements Parcelable %7B%0A    public static final Parcelable.Creator%3CLongSparseBooleanArray%3E CREATOR =%0A            new Parcelable.Creator%3CLongSparseBooleanArray%3E() %7B%0A                @Override%0A                public LongSparseBooleanArray createFromParcel(@NonNull final Parcel source) %7B%0A                    // load data from the Parcel%0A                    final int size = source.readInt();%0A                    final long%5B%5D keys = new long%5Bsize%5D;%0A                    source.readLongArray(keys);%0A                    final boolean%5B%5D values = new boolean%5Bsize%5D;%0A                    source.readBooleanArray(values);%0A%0A                    // create & return the sparse array%0A                    final LongSparseBooleanArray array = new LongSparseBooleanArray();%0A                    for (int i = 0; i %3C size; i++) %7B%0A                        array.put(keys%5Bi%5D, values%5Bi%5D);%0A                    %7D%0A                    return array;%0A                %7D%0A%0A                @Override%0A                public LongSparseBooleanArray%5B%5D newArray(final int size) %7B%0A                    return new LongSparseBooleanArray%5Bsize%5D;%0A                %7D%0A            %7D;%0A%0A    public LongSparseBooleanArray() %7B%7D%0A%0A    public LongSparseBooleanArray(final int initialCapacity) %7B%0A        super(initialCapacity);%0A    %7D%0A%0A    @Override%0A    public int describeContents() %7B%0A        return 0;%0A    %7D%0A%0A    @Override%0A    public void writeToParcel(@NonNull final Parcel dest, final int flags) %7B%0A        // read the data into a parcelable format%0A        final int size = size();%0A        final long%5B%5D keys = new long%5Bsize%5D;%0A        final boolean%5B%5D values = new boolean%5Bsize%5D;%0A        for (int i = 0; i %3C size; i++) %7B%0A            keys%5Bi%5D = keyAt(i);%0A            values%5Bi%5D = valueAt(i);%0A        %7D%0A%0A        // write data to the Parcel%0A        dest.writeInt(size);%0A        dest.writeLongArray(keys);%0A        dest.writeBooleanArray(values);%0A    %7D%0A%7D%0A

create a LongSparseBooleanArray that is Parcelable