code: public static void runExample(
        AdManagerServices adManagerServices, AdManagerSession session, long audienceSegmentId)
        throws RemoteException {
      // Get the AudienceSegmentService.
      AudienceSegmentServiceInterface audienceSegmentService =
          adManagerServices.get(session, AudienceSegmentServiceInterface.class);
  
      // Create a statement to only select a specified first party audience
      // segment.
      StatementBuilder statementBuilder =
          new StatementBuilder()
              .where("WHERE id = :audienceSegmentId and type = :type")
              .orderBy("id ASC")
              .limit(1)
              .withBindVariableValue("audienceSegmentId", audienceSegmentId)
              .withBindVariableValue("type", "FIRST_PARTY");
  
      // Get the audience segment.
      RuleBasedFirstPartyAudienceSegment audienceSegment =
          (RuleBasedFirstPartyAudienceSegment)
              audienceSegmentService.getAudienceSegmentsByStatement(statementBuilder.toStatement())
                  .getResults()[0];
  
      // Update the member expiration days.
      audienceSegment.setMembershipExpirationDays(180);
  
      // Update the audience segment on the server.
      AudienceSegment[] audienceSegments =
          audienceSegmentService.updateAudienceSegments(
              new FirstPartyAudienceSegment[] {audienceSegment});
  
      for (AudienceSegment updatedAudienceSegment : audienceSegments) {
        System.out.printf(
            "Audience segment with ID %d and name '%s' was updated.%n",
            updatedAudienceSegment.getId(), updatedAudienceSegment.getName());
      }
    }
docs: Runs the example.
  
  @param adManagerServices the services factory.
  @param session the session.
  @param audienceSegmentId the ID of the first party audience segment 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.