code: @Override
      public SetTerminationProtectionResult setTerminationProtection(SetTerminationProtectionRequest request) {
          request = beforeClientExecution(request);
          return executeSetTerminationProtection(request);
      }
docs: <p>
  SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by
  user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful
  completion of the job flow. Calling <code>SetTerminationProtection</code> on a cluster is similar to calling the
  Amazon EC2 <code>DisableAPITermination</code> API on all EC2 instances in a cluster.
  </p>
  <p>
  <code>SetTerminationProtection</code> is used to prevent accidental termination of a cluster and to ensure that
  in the event of an error, the instances persist so that you can recover any data stored in their ephemeral
  instance storage.
  </p>
  <p>
  To terminate a cluster that has been locked by setting <code>SetTerminationProtection</code> to <code>true</code>
  , you must first unlock the job flow by a subsequent call to <code>SetTerminationProtection</code> in which you
  set the value to <code>false</code>.
  </p>
  <p>
  For more information, see<a
  href="https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html">Managing
  Cluster Termination</a> in the <i>Amazon EMR Management Guide</i>.
  </p>
  
  @param setTerminationProtectionRequest
  The input argument to the <a>TerminationProtection</a> operation.
  @return Result of the SetTerminationProtection operation returned by the service.
  @throws InternalServerErrorException
  Indicates that an error occurred while processing the request and that the request was not completed.
  @sample AmazonElasticMapReduce.SetTerminationProtection
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection"
  target="_top">AWS API Documentation</a>