*/  case Message.R_FILE_ADD_SOURCE : int fileIdentifier = messageBuffer.readInt32(); int clientIdentifier = messageBuffer.readInt32();  if ( ( ( FileInfoIntMap  )this.fileInfoMap   ).contains( fileIdentifier   ) ) if ( ( ( ClientInfoIntMap)this.clientInfoList).get(clientIdentifier) != null ){  ( ( FileInfoIntMap ) this.fileInfoMap ).get( fileIdentifier ) .addClientInfo( ( ( ClientInfoIntMap ) this.clientInfoList ) .get( clientIdentifier ) ); } break;
	private synchronized void  decodeMessage( 				short opcode, 				MessageBuffer 				messageBuffer ) throws IOException 		{		switch ( opcode ) {			case Message.R_COREPROTOCOL :									coreProtocol = messageBuffer.readInt32();					/* send a request for FileInfoList */										break;								case Message.R_DEFINE_SEARCH :					this.defineSearchMap.readStream( messageBuffer );					break;					case Message.R_RESULT_INFO :					ResultInfo result = new ResultInfo( this );					result.readStream( messageBuffer );					this.resultInfo.put( result.getResultID(), result );					this.setChanged();						this.notifyObservers( result );					break;								case Message.R_SEARCH_RESULT :					this.searchResult.readStream( messageBuffer );							this.setChanged();						this.notifyObservers( searchResult );					break;								case Message.R_OPTIONS_INFO :					this.optionsInfoMap.readStream( messageBuffer );					this.setChanged();						this.notifyObservers( optionsInfoMap );					break;							case Message.R_FILE_UPDATE_AVAILABILITY :					FileInfo file = ( ( FileInfoIntMap ) this.fileInfoMap ).get( messageBuffer.readInt32() );					( ( ClientInfoIntMap ) this.clientInfoList ).get( messageBuffer.readInt32() )						.putAvail( file, messageBuffer.readString() );					break;			case Message.R_FILE_ADD_SOURCE :					( ( FileInfoIntMap ) this.fileInfoMap ).get( messageBuffer.readInt32() )						.addClientInfo( ( ( ClientInfoIntMap ) this.clientInfoList )							.get( messageBuffer.readInt32() ) );					break;								case Message.R_SERVER_STATE : 					this.serverInfoMap.update( messageBuffer );					break;										case Message.R_CLIENT_INFO :					this.clientInfoList.readStream( messageBuffer );					break;						case Message.R_ADD_SECTION_OPTION :					this.addSectionOptionList.readStream( messageBuffer );					break;								case Message.R_ADD_PLUGIN_OPTION :					this.addPluginOptionList.readStream( messageBuffer );					break;										case Message.R_CLIENT_STATE :					this.clientInfoList.update( messageBuffer );					break;										case Message.R_BAD_PASSWORD :					this.badPassword = true;											this.disconnect();					break;								case Message.R_SHARED_FILE_INFO :					this.sharedFileInfoList.readStream( messageBuffer );					break;					case Message.R_FILE_DOWNLOAD_UPDATE :					this.fileInfoMap.update( messageBuffer );					break;									case Message.R_CLIENT_STATS :									clientStats.readStream( messageBuffer );					this.setChanged();						this.notifyObservers( clientStats );					break;									case Message.R_DOWNLOAD :					( ( FileInfoIntMap )this.fileInfoMap ).add( messageBuffer );					this.setChanged();					this.notifyObservers( fileInfoMap );					break;								case Message.R_CONSOLE :						this.consoleMessage.readStream( messageBuffer );					this.setChanged();					this.notifyObservers( consoleMessage );											break;							case Message.R_NETWORK_INFO :					this.networkinfoMap.readStream( messageBuffer );					break;								case Message.R_USER_INFO :					UserInfo user = new UserInfo();					user.readStream( messageBuffer );					this.userInfo.put( user.getUserId(), user );					break;										case Message.R_SERVER_INFO :					this.serverInfoMap.readStream( messageBuffer );					break;										case Message.R_DOWNLOADING_LIST :					this.fileInfoMap.readStream( messageBuffer );					break;					 			case Message.R_DOWNLOADED_LIST :					 break;					 			case Message.R_CLEAN_TABLE :					( ( ClientInfoIntMap )this.clientInfoList ).clean( messageBuffer );					( ( ServerInfoIntMap )this.serverInfoMap ).clean( messageBuffer );					break;			default :									System.out.println( "unknown OP-Code : " + opcode + "!" );					break;						}	}