code: public static ContentValues putAll(ContentValues target, Object... values) {
          int length = values.length;
          checkArgument(length % 2 == 0, "values length must be a multiple of two");
          for (int i = 0; i < length; i += 2) {
              String key = (String) values[i];
              Object val = values[i + 1];
              if (val == null) {
                  target.putNull(key);
              } else if (val instanceof String) {
                  target.put(key, (String) val);
              } else if (val instanceof Long) {
                  target.put(key, (Long) val);
              } else if (val instanceof Integer) {
                  target.put(key, (Integer) val);
              } else if (val instanceof Boolean) {
                  target.put(key, (Boolean) val);
              } else if (val instanceof Double) {
                  target.put(key, (Double) val);
              } else if (val instanceof Float) {
                  target.put(key, (Float) val);
              } else if (val instanceof byte[]) {
                  target.put(key, (byte[]) val);
              } else if (val instanceof Byte) {
                  target.put(key, (Byte) val);
              } else if (val instanceof Short) {
                  target.put(key, (Short) val);
              } else {
                  throw new IllegalArgumentException(
                          "ContentValues does not support values of type " + val.getClass().getName()
                                  + " (provided for key '" + key + "')");
              }
          }
docs: Put all of the values into the existing set.
  
  @param values length must be a multiple of two: {@code String key, Object value, ...}
  @throws IllegalArgumentException if a value type is not supported