anchor.diff:  	        State = #state{virtual_sockets = VSockets}) ->
       State#state{virtual_sockets = gb_trees:update(CSocketId, CSocket, VSockets)}.
   
  -delete_csocket(#capwap_socket{id = CSocketId, type = Type, peer = Peer},
  +delete_csocket(#capwap_socket{id = CSocketId, type = Type, peer = Peer, monitor = MonRef},
   	       State =
   		   #state{connections = Connections, virtual_sockets = VSockets}) ->
  +    catch(demonitor(MonRef)),
       State#state{
         connections = gb_trees:delete_any({Peer, Type}, Connections),
         virtual_sockets = gb_trees:delete_any(CSocketId, VSockets)}.
  
positive.code: %%     inet:setopts(Socket, [{active, once}]),
  %%     {noreply, State1};
  
  handle_info(Info, State) ->
      lager:warning("Unhandled info message: ~p", [Info]),
      {noreply, State}.
  
negative.code: new_csocket(Peer, Type, Owner, Packet, State0 =
  	       #state{connections = Connections, virtual_sockets = VSockets}) ->
      CSocketId = make_ref(),
      MonRef = monitor(process, Owner),
      CSocket = #capwap_socket{id = CSocketId, type = Type, peer = Peer,
  			     owner = Owner, monitor = MonRef,
  			     mode = passive, queue = queue:from_list([Packet])},
  
      State = State0#state{connections     = gb_trees:insert({Peer, Type}, CSocketId, Connections),
  