code: public GetCostAndUsageResult withGroupDefinitions(GroupDefinition... groupDefinitions) {
          if (this.groupDefinitions == null) {
              setGroupDefinitions(new java.util.ArrayList<GroupDefinition>(groupDefinitions.length));
          }
          for (GroupDefinition ele : groupDefinitions) {
              this.groupDefinitions.add(ele);
          }
          return this;
      }
docs: <p>
  The groups that are specified by the <code>Filter</code> or <code>GroupBy</code> parameters in the request.
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setGroupDefinitions(java.util.Collection)} or {@link #withGroupDefinitions(java.util.Collection)} if you
  want to override the existing values.
  </p>
  
  @param groupDefinitions
  The groups that are specified by the <code>Filter</code> or <code>GroupBy</code> parameters in the
  request.
  @return Returns a reference to this object so that method calls can be chained together.