package com.kickstarter.models;

import android.os.Parcel;
import android.os.Parcelable;

import com.hannesdorfmann.parcelableplease.annotation.ParcelablePlease;

@ParcelablePlease
public class Location implements Parcelable {
  Integer id = null;
  String name = null;
  String displayableName = null;

  public Integer id() { return id; }
  public String name() { return name; }
  public String displayableName() { return displayableName; }

  @Override
  public int describeContents() {
    return 0;
  }

  @Override
  public void writeToParcel(Parcel dest, int flags) {
    LocationParcelablePlease.writeToParcel(this, dest, flags);
  }

  public static final Creator<Location> CREATOR = new Creator<Location>() {
    public Location createFromParcel(Parcel source) {
      Location target = new Location();
      LocationParcelablePlease.readFromParcel(target, source);
      return target;
    }

    public Location[] newArray(int size) {
      return new Location[size];
    }
  };
}

@@ -159,117 +159,173 @@
 se;%0A
-%0A@ParcelablePlease%0Apublic class Location implements Parcelable %7B%0A  Integer id = null;%0A  String name = null;%0A 
+import com.kickstarter.libs.AutoGson;%0A%0Aimport auto.parcel.AutoParcel;%0A%0A@AutoParcel @AutoGson%0Apublic abstract class Location implements Parcelable %7B%0A  public abstract
  Str
@@ -347,17 +347,11 @@
 Name
- = null;%0A
+();
 %0A  p
@@ -360,338 +360,269 @@
 lic 
-Integer id() %7B return id; %7D%0A  public String name() %7B return name; %7D%0A  public String displayableName() %7B return displayableName; %7D%0A%0A  @Override%0A  public int describeContents() %7B%0A    return 0;%0A  %7D%0A%0A  @Override%0A  public void writeToParcel(Parcel dest, int flags) %7B%0A    LocationParcelablePlease.writeToParcel(this, dest, flags
+abstract long id();%0A  public abstract String name();%0A%0A  @AutoParcel.Builder%0A  public abstract static class Builder %7B%0A    public abstract Builder displayableName(String __);%0A    public abstract Builder id(long __);%0A    public abstract Builder name(String __
 );%0A  
-%7D%0A%0A
   pu
@@ -630,262 +630,129 @@
 lic 
-static final Creator%3CLocation%3E CREATOR = new Creator%3CLocation%3E() %7B%0A    public Location createFromParcel(Parcel source) %7B%0A      Location target = new Location();%0A      LocationParcelablePlease.readFromParcel(target, source);%0A      return target;%0A  
+abstract Location builder();%0A  %7D%0A%0A  public static Builder builder() %7B%0A    return new AutoParcel_Location.Builder();%0A
   %7D%0A%0A
-  
   pu
@@ -760,82 +760,36 @@
 lic 
-Location%5B%5D newArray(int size) %7B%0A      return new Location%5Bsize%5D;%0A    %7D%0A  %7D
+abstract Builder toBuilder()
 ;%0A%7D%0A

Switch Location to AutoParcel