code: public synchronized Record clear(final URI... properties) {
          final List<URI> propertiesToClear;
          if (properties == null || properties.length == 0) {
              propertiesToClear = doGetProperties();
          } else {
              propertiesToClear = Arrays.asList(properties);
          }
          for (final URI property : propertiesToClear) {
              doSet(property, ImmutableSet.<Object>of());
          }
          return this;
      }
docs: Clears the properties specified, or all the stored properties if no property is specified.
  Note that the ID is not affected.
  
  @param properties
  an array with the properties to retain, possibly empty (in which case all the
  stored properties will be cleared)
  @return this record object, for call chaining