code: public static void runExample(
        AdManagerServices adManagerServices, AdManagerSession session, long proposalId)
        throws RemoteException {
      // Get the ProposalService.
      ProposalServiceInterface proposalService =
          adManagerServices.get(session, ProposalServiceInterface.class);
  
      // Create a statement to only select a single proposal by ID.
      StatementBuilder statementBuilder =
          new StatementBuilder()
              .where("id = :id")
              .orderBy("id ASC")
              .limit(1)
              .withBindVariableValue("id", proposalId);
  
      // Get the proposal.
      ProposalPage page = proposalService.getProposalsByStatement(statementBuilder.toStatement());
  
      Proposal proposal = Iterables.getOnlyElement(Arrays.asList(page.getResults()));
  
      // Update the proposal's notes.
      proposal.setInternalNotes("Proposal needs further review before approval.");
  
      // Update the proposal on the server.
      Proposal[] proposals = proposalService.updateProposals(new Proposal[] {proposal});
  
      for (Proposal updatedProposal : proposals) {
        System.out.printf(
            "Proposal with ID %d and name '%s' was updated.%n",
            updatedProposal.getId(), updatedProposal.getName());
      }
    }
docs: Runs the example.
  
  @param adManagerServices the services factory.
  @param session the session.
  @param proposalId the ID of the proposal to update.
  @throws ApiException if the API request failed with one or more service errors.
  @throws RemoteException if the API request failed due to other errors.