code: public static <T> IndexChangeAdapter forUniqueValuedProperty( ExecutionContext context,
                                                                    NodeTypePredicate matcher,
                                                                    String workspaceName,
                                                                    Name propertyName,
                                                                    ValueFactory<T> factory,
                                                                    ProvidedIndex<?> index ) {
          return new UniquePropertyChangeAdapter<>(context, matcher, workspaceName, propertyName, factory, index);
      }
docs: Create an {@link IndexChangeAdapter} implementation that handles a unique-valued property, where every property value is
  unique across all nodes.
  
  @param context the execution context; may not be null
  @param matcher the node type matcher used to determine which nodes should be included in the index; may not be null
  @param workspaceName the name of the workspace; may not be null
  @param propertyName the name of the property; may not be null
  @param factory the value factory for the property's value type; may not be null
  @param index the local index that should be used; may not be null
  @return the new {@link IndexChangeAdapter}; never null