code: public Query addParameter(String name, final Object ... values) {
          if(values == null) {
              throw new NullPointerException("Array parameter cannot be null");
          }
  
          addParameterInternal(name, new ParameterSetter(values.length) {
              @Override
              public void setParameter(int paramIdx, PreparedStatement statement) throws SQLException {
                  if(values.length == 0) {
                      getConnection().getSql2o().getQuirks().setParameter(statement, paramIdx, (Object) null);
                  } else {
                      for (Object value : values) {
                          getConnection().getSql2o().getQuirks().setParameter(statement, paramIdx++, value);
                      }
                  }
              }
          });
          return this;
      }
docs: Set an array parameter.<br>
  For example:
  <pre>
  createQuery("SELECT * FROM user WHERE id IN(:ids)")
  .addParameter("ids", 4, 5, 6)
  .executeAndFetch(...)
  </pre>
  will generate the query : <code>SELECT * FROM user WHERE id IN(4,5,6)</code><br>
  <br>
  It is not possible to use array parameters with a batch <code>PreparedStatement</code>:
  since the text query passed to the <code>PreparedStatement</code> depends on the number of parameters in the array,
  array parameters are incompatible with batch mode.<br>
  <br>
  If the values array is empty, <code>null</code> will be set to the array parameter:
  <code>SELECT * FROM user WHERE id IN(NULL)</code>
  
  @throws NullPointerException if values parameter is null