The whole synchronization process consists of three main sub-processes:
resource object classification,
resource object correlation,
resource object synchronization (in the narrow sense of the world).
The classification consists of determining kind, intent, and tag values for given resource object. The correlation tries to find an owner for the object - or to determine that a new record for the owner should be created. Finally, the synchronization propagates the information from the resource object to the owner (stored in midPoint repository) and optionally to its projections (linked resource objects).
The classification is currently done by examining each of defined