code: private static SharedBiddingStrategy createBiddingStrategy(
        AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
      // Get the BiddingStrategyService, which loads the required classes.
      BiddingStrategyServiceInterface biddingStrategyService =
          adWordsServices.get(session, BiddingStrategyServiceInterface.class);
  
      // Create a portfolio bidding strategy.
      SharedBiddingStrategy portfolioBiddingStrategy = new SharedBiddingStrategy();
      portfolioBiddingStrategy.setName("Maximize Clicks" + System.currentTimeMillis());
  
      TargetSpendBiddingScheme biddingScheme = new TargetSpendBiddingScheme();
      // Optionally set additional bidding scheme parameters.
      biddingScheme.setBidCeiling(new Money(null, 2000000L));
      biddingScheme.setSpendTarget(new Money(null, 20000000L));
  
      portfolioBiddingStrategy.setBiddingScheme(biddingScheme);
  
      // Create operation.
      BiddingStrategyOperation operation = new BiddingStrategyOperation();
      operation.setOperand(portfolioBiddingStrategy);
      operation.setOperator(Operator.ADD);
  
      BiddingStrategyOperation[] operations = new BiddingStrategyOperation[] {operation};
      BiddingStrategyReturnValue result = biddingStrategyService.mutate(operations);
  
      SharedBiddingStrategy newBiddingStrategy = result.getValue(0);
  
      System.out.printf(
          "Portfolio bidding strategy with name '%s' and ID %d of type '%s' was created.%n",
          newBiddingStrategy.getName(), newBiddingStrategy.getId(),
          newBiddingStrategy.getBiddingScheme().getBiddingSchemeType());
  
      return newBiddingStrategy;
    }
docs: Creates the bidding strategy object.
  
  @param adWordsServices the user to run the example with
  @param session the AdWordsSession
  @throws ApiException if the API request failed with one or more service errors.
  @throws RemoteException if the API request failed due to other errors.