@Override
  public JsonElement serialize(Team team, Type arg1, JsonSerializationContext arg2) {
    JsonObject json = new JsonObject();
    json.addProperty("teamId", team.getTeamId());
    json.addProperty("teamName", team.getTeamName());

    JsonArray usersJson = new JsonArray();
    team.getTeamUsers().forEach(u -> usersJson.add(JSON_MAPPER.userToJason(u)));
    json.add("teamUsers", usersJson);

    return json;
  }
  @Override
  public Team deserialize(JsonElement json, Type arg1, JsonDeserializationContext arg2)
      throws JsonParseException {
    JsonObject jsonObject = json.getAsJsonObject();
    Integer teamId = jsonObject.get("teamId").getAsInt();
    String teamName = jsonObject.get("teamName").getAsString();

    List<User> teamUsers = new ArrayList<>();
    jsonObject
        .get("teamUsers")
        .getAsJsonArray()
        .forEach(
            tu -> {
              teamUsers.add(JSON_MAPPER.jsonToUser(tu));
            });

    return new Team(teamId, teamName, teamUsers);
  }