+ /**
+ * Initialises the ModelUpdate with given input
+ * @param oldModel the model that is going to be updated (User modified model)
+ * @param newModel the model containing updates (New design model)
+ * @param originalModel the model that is used for detecting and retaining user made changes (Old design model). Parameter can be null.
+ * @param newDistinct when originalModel is given, additions to the old and the new model (when compared to the original model) are forced to be distinct.
+ * @throws DatabaseException
+ */