code: public ResultSetMetadata withColumnMetadata(ColumnMetadata... columnMetadata) {
          if (this.columnMetadata == null) {
              setColumnMetadata(new java.util.ArrayList<ColumnMetadata>(columnMetadata.length));
          }
          for (ColumnMetadata ele : columnMetadata) {
              this.columnMetadata.add(ele);
          }
          return this;
      }
docs: List of columns and their types
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setColumnMetadata(java.util.Collection)} or {@link #withColumnMetadata(java.util.Collection)} if you want
  to override the existing values.
  </p>
  
  @param columnMetadata
  List of columns and their types
  @return Returns a reference to this object so that method calls can be chained together.