code: private static Budget createSharedBudget(
        AdWordsServicesInterface adWordsServices, AdWordsSession session) throws RemoteException {
      // Get the BudgetService, which loads the required classes.
      BudgetServiceInterface budgetService =
          adWordsServices.get(session, BudgetServiceInterface.class);
  
      // Create a shared budget.
      Budget budget = new Budget();
      budget.setName("Shared Interplanetary Budget #" + System.currentTimeMillis());
      budget.setAmount(new Money(null, 50000000L));
      budget.setDeliveryMethod(BudgetBudgetDeliveryMethod.STANDARD);
      budget.setIsExplicitlyShared(true);
  
      BudgetOperation operation = new BudgetOperation();
      operation.setOperand(budget);
      operation.setOperator(Operator.ADD);
  
      BudgetOperation[] operations = new BudgetOperation[] {operation};
  
      // Make the mutate request.
      BudgetReturnValue result = budgetService.mutate(operations);
      Budget newBudget = result.getValue(0);
  
      System.out.printf("Budget with name '%s', ID %d was created.%n", newBudget.getName(),
          newBudget.getBudgetId());
  
      return newBudget;
    }
docs: Creates an explicit budget to be used only to create the Campaign.
  
  @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.