1. A computer-implemented method for maintaining consistency of a data structure, the method comprising the following steps: retrieving, at a computing device, a data structure that is built as an object graph containing a plurality of objects; receiving, at a computing device, first user input indicating a first set of changes on the object graph, the changes being atomic operations acting on the object graph; receiving, at a computing device, second user input indicating a second set of changes on the object graph, the changes being atomic operations acting on the object graph; accessing operational transformations, each transformation specifying how one atomic operation is transformed against another atomic operation; modifying the object graph to encompass the first set of changes and the second set of changes by employing the operational transformations on the atomic operations and applying the resulting transformed operations to the object graph; and storing the modified object graph in a computer-readable memory; wherein: the objects of the object graph include an identifier and at least one property, respectively; the transformed operations are recorded in a history log, wherein the history log comprises the atomic operations which are grouped in regular events, wherein a regular event comprises one or more atomic operations, wherein to each regular event an execution state is assigned which can either be “executed” or “unexecuted”, and wherein a regular event with execution state “unexecuted” is kept in the history log and its effect on the object graph is removed; wherein: the atomic operations include: object operations that create or delete an object of the object graph; property operations that change a property of an object of the object graph; wherein: each of the operations retains the identifier of the object the operation acts on and information on each change of the object resulting from the operation; and wherein: when a transformation of two of the operations results in a conflict, creating a conflict event and adding the conflict event to the history log, wherein the conflict is resolved by changing the execution state of the event which comprises one of the operations resulting in a conflict and redoing the transformation, and wherein the conflict event records the changing of the execution state of this event and which events in which execution state are in conflict; when a transformation of two operations, wherein one of the two operations is transformed against the other of the two operations, results in a tie, assigning one of the two operations winning the tie by applying a tiebreak criterion, wherein if the transformed operation is losing the tie, it is marked as suppressed by the other operation, and wherein if the transformed operation is winning the tie, it is marked as overwriting the other operation, and wherein the transformed operation retains being suppressed by or overwriting the other operation.