@SdkInternalApi
    final DBCluster executeRestoreDBClusterToPointInTime(RestoreDBClusterToPointInTimeRequest restoreDBClusterToPointInTimeRequest) {

        ExecutionContext executionContext = createExecutionContext(restoreDBClusterToPointInTimeRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<RestoreDBClusterToPointInTimeRequest> request = null;
        Response<DBCluster> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new RestoreDBClusterToPointInTimeRequestMarshaller().marshall(super.beforeMarshalling(restoreDBClusterToPointInTimeRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "RDS");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RestoreDBClusterToPointInTime");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            StaxResponseHandler<DBCluster> responseHandler = new StaxResponseHandler<DBCluster>(new DBClusterStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before
<code>LatestRestorableTime</code> for up to <code>BackupRetentionPeriod</code> days. The target DB cluster is
created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB
cluster is created with the default DB security group.
</p>
<note>
<p>
For Aurora, this operation only restores the DB cluster, not the DB instances for that DB cluster. You must
invoke the <code>CreateDBInstance</code> operation to create DB instances for the restored DB cluster, specifying
the identifier of the restored DB cluster in <code>DBClusterIdentifier</code>. You can create DB instances only
after the <code>RestoreDBClusterToPointInTime</code> operation has completed and the DB cluster is available.
</p>
</note>
<p>
For more information on Amazon Aurora DB clusters, see <a
href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html"> What is Amazon
Aurora?</a> in the <i>Amazon Aurora User Guide</i>.
</p>
<p>
For more information on Multi-AZ DB clusters, see <a
href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html"> Multi-AZ DB
cluster deployments</a> in the <i>Amazon RDS User Guide.</i>
</p>

@param restoreDBClusterToPointInTimeRequest
@return Result of the RestoreDBClusterToPointInTime operation returned by the service.
@throws DBClusterAlreadyExistsException
        The user already has a DB cluster with the given identifier.
@throws DBClusterNotFoundException
        <code>DBClusterIdentifier</code> doesn't refer to an existing DB cluster.
@throws DBClusterQuotaExceededException
        The user attempted to create a new DB cluster and the user has already reached the maximum allowed DB
        cluster quota.
@throws DBClusterSnapshotNotFoundException
        <code>DBClusterSnapshotIdentifier</code> doesn't refer to an existing DB cluster snapshot.
@throws DBSubnetGroupNotFoundException
        <code>DBSubnetGroupName</code> doesn't refer to an existing DB subnet group.
@throws InsufficientDBClusterCapacityException
        The DB cluster doesn't have enough capacity for the current operation.
@throws InsufficientStorageClusterCapacityException
        There is insufficient storage available for the current action. You might be able to resolve this error
        by updating your subnet group to use different Availability Zones that have more storage available.
@throws InvalidDBClusterSnapshotStateException
        The supplied value isn't a valid DB cluster snapshot state.
@throws InvalidDBClusterStateException
        The requested operation can't be performed while the cluster is in this state.
@throws InvalidDBSnapshotStateException
        The state of the DB snapshot doesn't allow deletion.
@throws InvalidRestoreException
        Cannot restore from VPC backup to non-VPC DB instance.
@throws InvalidSubnetException
        The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.
@throws InvalidVPCNetworkStateException
        The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.
@throws KMSKeyNotAccessibleException
        An error occurred accessing an Amazon Web Services KMS key.
@throws OptionGroupNotFoundException
        The specified option group could not be found.
@throws StorageQuotaExceededException
        The request would result in the user exceeding the allowed amount of storage available across all DB
        instances.
@throws DomainNotFoundException
        <code>Domain</code> doesn't refer to an existing Active Directory domain.
@throws DBClusterParameterGroupNotFoundException
        <code>DBClusterParameterGroupName</code> doesn't refer to an existing DB cluster parameter group.
@throws DBClusterAutomatedBackupNotFoundException
        No automated backup for this DB cluster was found.
@throws InsufficientDBInstanceCapacityException
        The specified DB instance class isn't available in the specified Availability Zone.
@sample AmazonRDS.RestoreDBClusterToPointInTime
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime"
     target="_top">AWS API Documentation</a>
aws-java-sdk-rds/src/main/java/com/amazonaws/services/rds/AmazonRDSClient.java