public synchronized void parse( String input, IPlayerConnection connection ) {
		
		try {
			boolean found = false;
			for (IParser parser : parsers) {
			
				boolean suitable = false;
				for ( String keyword : parser.getKeywords() ) {
					
					if ( input.toLowerCase().startsWith( keyword.toLowerCase() ) )
						suitable = true;
				}
				
				if ( suitable ) {
					parser.parse( input, connection );
					found = true;
					break;
				}
			}
			
			if ( !found )
				connection.write( "This was not understandable." );
		} 
		catch ( Exception e ) {
			connection.write( "Sorry, TextNodes recognized an internal error." );
		}
	}