code: private void updateFromProperties() {
          // Get value from all properties: use a new collection so that equals() returns false
          List<R> newValues = new ArrayList<R>();
          for (ReadableProperty<R> master : properties) {
              newValues.add(master.getValue());
          }
  
          // Notify slaves
          setValue(newValues);
      }
docs: Updates the current collection of values from the sub-properties and notifies the listeners.