BACK END (com.netoftaste.*)                   Ś      FRONT END  (com.yourradio.*)
	                                              Ś
	                                              Ś
	---------------------------                   Ś      -------------------------------
	Ś  Client       _facade   Ś                   Ś      Ś  YourRadio                  Ś
	Ś  --------------------   Ś<-------------------------Ś  ------------------------   Ś
	Ś  new Client(...)        Ś                   Ś      Ś  main()                     Ś
	Ś  quit()                 Ś                   Ś      Ś  ...                        Ś
	Ś  connect(host,fileName) Ś                   Ś      -------------------------------
	Ś  disconnect()           Ś                   Ś       Ś
	Ś  String play()          Ś                   Ś       Ś--> PlayerThread
	Ś  String download()      Ś                   Ś       Ś--> DownloadThread
	Ś  vote(name,points)      Ś                   Ś       Ś--> LimeClient implements ActivityCallBack
	Ś  ...                    Ś                   Ś
	---------------------------                   Ś
	                                              Ś
	---------------------------------------       Ś
	Ś  abstract ClientCallBack  _callback Ś       Ś
	Ś  ---------------------------------- Ś       Ś
	Ś  logUpdate(String)                  Ś       Ś
	Ś  errorOccured(String)               Ś       Ś
	Ś  scanReplay(String)                 Ś       Ś      -------------------------------
	Ś  chatReplay(String,NodeUnifier)     Ś/-------------Ś  NotClientCallBack          Ś
	--------------------------------------Ś\--------------------------------------------
	                                              Ś
	--------------------------------------Ś       Ś      -------------------------------
	Ś  Global           _singelton        Ś       Ś      Ś  Global      _singelton     Ś
	Ś  -----------------------------      Ś       Ś      Ś  -------------------------- Ś
	Ś  Global get()                       Ś       Ś      Ś  Global get()               Ś
	Ś  YourNode getYourNode()             Ś       Ś      Ś  ...                        Ś
	Ś  ClientCallBack getClientCallBack() Ś       Ś      -------------------------------
	Ś  NetworkBackEnd getNetworkBackEnd() Ś       Ś
	Ś  .....                              Ś       Ś
	Ś-------------------------------------Ś       Ś      --------------------------------------------
	                                              Ś      Ś  LimeClient implements ActivityCallBack  Ś
	----------------------------------------      Ś      Ś  --------------------------------------  Ś
	Ś  abstract NetworkBackEnd ext. Thread Ś      Ś      Ś  new LimeClient(String shareDir)         Ś
	Ś  ----------------------------------- Ś      Ś      Ś  search(String)                          Ś
	Ś  send(Message,NodeUnifier)           Ś      Ś      Ś  Vector getResults()                     Ś
	Ś---------------------------------------      Ś      Ś  download(int[])                         Ś
			/\                            Ś      Ś  Vector getDownloads()                   Ś
			ŚŚ                            Ś      Ś  quit()                                  Ś
                        ŚŚ                            Ś      Ś  ...                                     Ś
	-----------------------------------------     Ś      --------------------------------------------
	Ś  StreamNetworkBackEnd ext. NetBackEnd Ś     Ś
	Ś---------------------------------------Ś     Ś
	                                              Ś
	-----------------------------------------     Ś
	Ś  PlayList                             Ś     Ś
	Ś  ------------------------------------ Ś     Ś
	Ś  boolean isElement(ContendUnifier)    Ś     Ś
	Ś  addLocal(Contend)                    Ś     Ś
	Ś  addForeigne(Contend)                 Ś     Ś
	Ś  remove(ContendUnifier)               Ś     Ś
	Ś  Contend get(ContendUnifier)          Ś     Ś
	Ś  Contend makeProposualToPlay()        Ś     Ś
	Ś  Contend makeProposualToDownload()    Ś     Ś
	Ś  ....                                 Ś     Ś
	-----------------------------------------     Ś
	                                              Ś
	------------------------------------          Ś
	Ś  Node                            Ś          Ś
	Ś  ------------------------------  Ś          Ś
	Ś  PlayList playlist               Ś          :
	Ś  List neighbor //of Node         Ś          :
	Ś  addNeighbor(Node)               Ś          .
	Ś  removeNeighbor(NodeUnifier)     Ś          .
	Ś  boolean isNeighbor(NodeUnifier) Ś
	Ś  Node getNeighbor(NodeUnifier)   Ś          .
	Ś  ...                             Ś
	------------------------------------
                    /\
                    ŚŚ
                    ŚŚ
	----------------------------------------
	Ś  YourNode ext. Node                  Ś
	Ś  ----------------------------------  Ś
	Ś  connect(NodeUnifier)                Ś
	Ś  disconnect(NodeUnifier)             Ś
	Ś  vote(ContendUnifier,int)            Ś
	Ś  proposePing(NodeUnifier)            Ś
	Ś  Contend getBetterNode()             Ś
	Ś  ...                                 Ś
	----------------------------------------

	----------------------------------------
	Ś  ServerThread ext. Thread            Ś
	----------------------------------------
	         Ś
                 v
	----------------------------------------
	Ś  DownloadMessageThread ext. Thread   Ś
	----------------------------------------
	         Ś
	         v
	----------------------------------------
	Ś  Pipe                                Ś
	Ś  ----------------------------------  Ś
	Ś  add(Message)                        Ś
	Ś  Message get()                       Ś
	----------------------------------------
	         /\
	          Ś
	----------------------------------------
	Ś  DoMessageThread ext. Thread _pullingŚ
	----------------------------------------
	         Ś
	         v
	----------------------------------------
	Ś  abstract OnMessage                  Ś
	Ś  ----------------------------------  Ś
	Ś  execute()                           Ś
	----------------------------------------
	 /\
	 ŚŚ-- OnConnect
	 ŚŚ-- OnConnectResponse
	 ŚŚ-- OnDisconnect
	 ŚŚ-- OnChat
	 ŚŚ-- OnProposePing
	 ŚŚ-- OnProposePong
	 ŚŚ-- OnScanConnect
	 ŚŚ-- OnScanConnectReplay
	 ŚŚ-- OnVote

	---------------------------------------
	Ś  UnifiableObject                    Ś
	Ś  --------------------------------   Ś
	Ś  Unifier id                         Ś
	---------------------------------------
	      /\
	      ŚŚ
	---------------------------------------
	Ś  abstract Message                   Ś
	---------------------------------------
	 /\
	 ŚŚ-- ChatMessage
	 ŚŚ-- ConnectMessage
	 ŚŚ-- ConnectResponseMessage
	 ŚŚ-- DisconnectMessage
	 ŚŚ-- ProposePingMessage
	 ŚŚ-- ProposePongMessage
	 ŚŚ-- ScanConnectMessage
	 ŚŚ-- ScanConnectReplayMessage
	 ŚŚ-- BroadcastMessage
	        /\
		ŚŚ
	       VoteMessage

	---------------------------------------
	Ś  Unifier                            Ś
	---------------------------------------
	 /\
	 ŚŚ-- NodeUnifier
	 ŚŚ-- ContendUnifier
	       /\
	       ŚŚ
	       MusicUnifier