 			else
 				for sibling in @getSiblings()
 					@removeSibling(sibling)
+				@_recommendParent(false)
 				for child in @getChildren()
 					@removeChild(child)
 				@_selectParent()
-				@broadcast('token.die', @token.serialize())
-				@token = null
+				console.log @token
+				if @token?
+					@broadcast('token.die', @token.serialize())
+					console.log "I quit. Sending token.die", @token.id
+					@token = null
 
 		_onPeerDisconnect: (peer) =>
 			if peer is @_parent

		#
		addChild: ( peer ) ->
			if peer is @_parent
				console.log "joost is een naus"
				@removeParent()

			if @getSibling(peer)?

		query: ( request, args..., callback ) =>
			switch request
				when 'ping'
					callback 'pong', @position.serialize(), @token?.serialize()
				when 'position'
					callback @position.serialize()
				when 'isSuperNode'
