@Override
    public StartMatchmakingResult startMatchmaking(StartMatchmakingRequest request) {
        request = beforeClientExecution(request);
        return executeStartMatchmaking(request);
    }
<p>
Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules. With games that
use Amazon GameLift managed hosting, this operation also triggers Amazon GameLift to find hosting resources and
start a new game session for the new match. Each matchmaking request includes information on one or more players
and specifies the FlexMatch matchmaker to use. When a request is for multiple players, FlexMatch attempts to
build a match that includes all players in the request, placing them in the same team and finding additional
players as needed to fill the match.
</p>
<p>
To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to
be matched. You must also include any player attributes that are required by the matchmaking configuration's rule
set. If successful, a matchmaking ticket is returned with status set to <code>QUEUED</code>.
</p>
<p>
Track matchmaking events to respond as needed and acquire game session connection information for successfully
completed matches. Ticket status updates are tracked using event notification through Amazon Simple Notification
Service, which is defined in the matchmaking configuration.
</p>
<p>
<b>Learn more</b>
</p>
<p>
<a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html"> Add FlexMatch to a game
client</a>
</p>
<p>
<a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html"> Set Up FlexMatch
event notification</a>
</p>
<p>
<a href="https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/gamelift-match.html"> How Amazon GameLift
FlexMatch works</a>
</p>

@param startMatchmakingRequest
@return Result of the StartMatchmaking operation returned by the service.
@throws InvalidRequestException
        One or more parameter values in the request are invalid. Correct the invalid parameter values before
        retrying.
@throws NotFoundException
        THe requested resources was not found. The resource was either not created yet or deleted.
@throws InternalServiceException
        The service encountered an unrecoverable internal failure while processing the request. Clients can retry
        such requests immediately or after a waiting period.
@throws UnsupportedRegionException
        The requested operation is not supported in the Region specified.
@sample AmazonGameLift.StartMatchmaking
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking" target="_top">AWS API
     Documentation</a>
aws-java-sdk-gamelift/src/main/java/com/amazonaws/services/gamelift/AmazonGameLiftClient.java