@Override
 public Faction read(JsonReader in) throws IOException {
   return Faction.fromString(in.nextString());
 }
 @Override
 public void write(JsonWriter out, Faction value) throws IOException {
   out.value(value.getString());
 }