code: public void removeNodesFromPool(String poolId, List<String> computeNodeIds,
              ComputeNodeDeallocationOption deallocationOption, Period resizeTimeout,
              Iterable<BatchClientBehavior> additionalBehaviors) throws BatchErrorException, IOException {
          PoolRemoveNodesOptions options = new PoolRemoveNodesOptions();
          BehaviorManager bhMgr = new BehaviorManager(this.customBehaviors(), additionalBehaviors);
          bhMgr.applyRequestBehaviors(options);
  
          NodeRemoveParameter param = new NodeRemoveParameter().withNodeList(computeNodeIds)
                  .withNodeDeallocationOption(deallocationOption).withResizeTimeout(resizeTimeout);
  
          this.parentBatchClient.protocolLayer().pools().removeNodes(poolId, param, options);
      }
docs: Removes the specified compute nodes from the specified pool.
  
  @param poolId
  The ID of the pool.
  @param computeNodeIds
  The IDs of the compute nodes to remove from the pool.
  @param deallocationOption
  Specifies when nodes may be removed from the pool.
  @param resizeTimeout
  Specifies the timeout for removal of compute nodes from the pool.
  @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.