code: public AgentFilter withAgentHealthCodes(AgentHealthCode... agentHealthCodes) {
          java.util.ArrayList<String> agentHealthCodesCopy = new java.util.ArrayList<String>(agentHealthCodes.length);
          for (AgentHealthCode value : agentHealthCodes) {
              agentHealthCodesCopy.add(value.toString());
          }
          if (getAgentHealthCodes() == null) {
              setAgentHealthCodes(agentHealthCodesCopy);
          } else {
              getAgentHealthCodes().addAll(agentHealthCodesCopy);
          }
          return this;
      }
docs: <p>
  The detailed health state of the agent. Values can be set to <b>IDLE</b>, <b>RUNNING</b>, <b>SHUTDOWN</b>,
  <b>UNHEALTHY</b>, <b>THROTTLED</b>, and <b>UNKNOWN</b>.
  </p>
  
  @param agentHealthCodes
  The detailed health state of the agent. Values can be set to <b>IDLE</b>, <b>RUNNING</b>, <b>SHUTDOWN</b>,
  <b>UNHEALTHY</b>, <b>THROTTLED</b>, and <b>UNKNOWN</b>.
  @return Returns a reference to this object so that method calls can be chained together.
  @see AgentHealthCode