@Override
  public JsonElement serialize(
      SyncDirectory src, Type typeOfSrc, JsonSerializationContext context) {
    JsonObject object = new JsonObject();
    object.addProperty("name", src.getName());
    object.addProperty("size", src.getSize());
    object.addProperty("lastModified", src.getLastModified());
    object.addProperty("added", src.isAdded());

    JsonArray array = new JsonArray();
    for (SyncFile file : src) {
      array.add(new IndexBuilder().toJsonTree(file));
    }

    object.add("files", array);
    return object;
  }