code: public Record set(final URI property, @Nullable final Object first, final Object... other)
              throws IllegalArgumentException {
          Preconditions.checkNotNull(property);
          final Set<Object> values = Sets.<Object>newHashSet();
          Data.normalize(first, values);
          Data.normalize(other, values);
          synchronized (this) {
              doSet(property, values);
          }
          return this;
      }
docs: Sets the values of the property specified. The method accepts one or more objects as the
  values; these objects can be {@code Record}s, {@code URI}s, {@code BNode}s,
  {@code Statement}s, {@code Literal}s, objects convertible to {@code Literal} or any array
  or iterable of the former types. Setting a property to null has the effect of clearing it.
  
  @param property
  the property to set
  @param first
  the first value, array or iterable of values to set, possibly null
  @param other
  additional values, arrays or iterables of values to set (if specified, will be
  merged with {@code first}).
  @return this record object, for call chaining
  @throws IllegalArgumentException
  if one of the supplied values has an unsupported type