@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final ConfigProperty that = (ConfigProperty) o;
        return editable == that.editable &&
                password == that.password &&
                requireRestart == that.requireRestart &&
                requireUiRestart == that.requireUiRestart &&
                Objects.equals(id, that.id) &&
                Objects.equals(version, that.version) &&
                Objects.equals(createTimeMs, that.createTimeMs) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(updateTimeMs, that.updateTimeMs) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(name, that.name) &&
                Objects.equals(defaultValue, that.defaultValue) &&
                Objects.equals(databaseOverrideValue, that.databaseOverrideValue) &&
                Objects.equals(yamlOverrideValue, that.yamlOverrideValue) &&
                Objects.equals(description, that.description) &&
                Objects.equals(dataTypeName, that.dataTypeName);
    }
@return True if a change to the value requires a restart of the UI nodes to take affect.
stroom-core-shared/src/main/java/stroom/config/global/shared/ConfigProperty.java