code: public void enableAutoScale(String poolId, String autoScaleFormula, Period autoScaleEvaluationInterval,
              Iterable<BatchClientBehavior> additionalBehaviors) throws BatchErrorException, IOException {
          PoolEnableAutoScaleOptions options = new PoolEnableAutoScaleOptions();
          BehaviorManager bhMgr = new BehaviorManager(this.customBehaviors(), additionalBehaviors);
          bhMgr.applyRequestBehaviors(options);
  
          PoolEnableAutoScaleParameter param = new PoolEnableAutoScaleParameter().withAutoScaleFormula(autoScaleFormula)
                  .withAutoScaleEvaluationInterval(autoScaleEvaluationInterval);
  
          this.parentBatchClient.protocolLayer().pools().enableAutoScale(poolId, param, options);
      }
docs: Enables automatic scaling on the specified pool.
  
  @param poolId
  The ID of the pool.
  @param autoScaleFormula
  The formula for the desired number of compute nodes in the pool.
  @param autoScaleEvaluationInterval
  The time interval at which to automatically adjust the pool size.
  @param additionalBehaviors
  A collection of {@link BatchClientBehavior} instances that are
  applied to the Batch service request.
  @throws BatchErrorException
  Exception thrown when an error response is received from the
  Batch service.
  @throws IOException
  Exception thrown when there is an error in
  serialization/deserialization of data sent to/received from the
  Batch service.