// 1 opproved -1 disapproved public void approveOrDisapprovedOwnership(int decition, Member member) { lock (OwnersLock) { foreach (Decision d in owners) { if (d.username == member.username) { d.setDecition(decition); break; } } } lock (CounterLock) { counter--; } if (isFullfielld()) { lock (doneLock) { if (!done && checkIfApproved()) { done = true; makeOwner(); } else { //needs to decide if somthing happens in case of //unapproval lock (OwnersLock) { ConnectionStubTemp.UpdateOwnershipRequest(this); } } } } }