This is the simplest scenario.
Share one project, do not cancel anything.
Now let the fun begin, try to add more projects, choose a side that should cancel the operation (it does not matter which side).
The side which started the project exchange will always has marked the project as shared, the other side will not.
You will be unable to share that project again, because you can't.
A shares project X with B and C.
B finished successfully but C cancels the operation (for what reason ever).
C must leave the session to be able to obtain project X again.