public UpdateGameSessionRequest withGameProperties(GameProperty... gameProperties) {
        if (this.gameProperties == null) {
            setGameProperties(new java.util.ArrayList<GameProperty>(gameProperties.length));
        }
        for (GameProperty ele : gameProperties) {
            this.gameProperties.add(ele);
        }
        return this;
    }
<p>
A set of key-value pairs that can store custom data in a game session. For example:
<code>{"Key": "difficulty", "Value": "novice"}</code>. You can use this parameter to modify game properties in an
active game session. This action adds new properties and modifies existing properties. There is no way to delete
properties. For an example, see <a href=
"https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#game-properties-update"
>Update the value of a game property</a>.
</p>
<p>
<b>NOTE:</b> This method appends the values to the existing list (if any). Use
{@link #setGameProperties(java.util.Collection)} or {@link #withGameProperties(java.util.Collection)} if you want
to override the existing values.
</p>

@param gameProperties
       A set of key-value pairs that can store custom data in a game session. For example:
       <code>{"Key": "difficulty", "Value": "novice"}</code>. You can use this parameter to modify game
       properties in an active game session. This action adds new properties and modifies existing properties.
       There is no way to delete properties. For an example, see <a href=
       "https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#game-properties-update"
       >Update the value of a game property</a>.
@return Returns a reference to this object so that method calls can be chained together.
aws-java-sdk-gamelift/src/main/java/com/amazonaws/services/gamelift/model/UpdateGameSessionRequest.java