private static void generateAccounts(List<String> serviceIds, String outputFile, short startingAccountId)
      throws JSONException, IOException {
    Collection<Account> accounts = new ArrayList<>();
    short curAccountId = startingAccountId;
    for (String serviceId : serviceIds) {
      Container defaultPublicContainer =
          new ContainerBuilder(Container.DEFAULT_PUBLIC_CONTAINER).setParentAccountId(curAccountId).build();
      Container defaultPrivateContainer =
          new ContainerBuilder(Container.DEFAULT_PRIVATE_CONTAINER).setParentAccountId(curAccountId).build();
      Account account = new AccountBuilder(curAccountId, serviceId, Account.AccountStatus.ACTIVE).containers(
          Arrays.asList(defaultPublicContainer, defaultPrivateContainer)).build();
      accounts.add(account);
      curAccountId++;
    }
    try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(outputFile))) {
      new ObjectMapper().writer(new DefaultPrettyPrinter()).writeValue(writer, accounts);
    }
  }
Generate a list of accounts for the provided service IDs and output them as a JSON array to the provided file path.
@param serviceIds the list of service IDs to create accounts for.
@param outputFile the file path to write the account JSON array to.
@param startingAccountId the account ID to assign to the first account generated. This will be incremented by one
                         for each additional account.
@throws JSONException
@throws IOException
ambry-tools/src/main/java/com/github/ambry/account/ServiceIdAccountGenTool.java