Debug.msg("Starting YAC listener");
Debug.msg("Starting YAC-Monitor");
	public void startYACListener() {		isRunning = true;		try {			Debug.msg("Starting YAC listener");			serverSocket = new ServerSocket(port);			while (isRunning) {				Socket socket = serverSocket.accept();				BufferedReader input = new BufferedReader(						new InputStreamReader(socket.getInputStream()));				while (isRunning) {					String[] splitList;					String msg = input.readLine();					if (msg == null)						break;					// parsing incoming DATA					Debug.msg("Got YAC-Data: " + msg);					// if last character is $00, delete it					if (msg.length() > 0 && msg.charAt(msg.length() - 1) == 0) {						msg = msg.substring(0, msg.length() - 1);					}					String outputString = "";					if (msg.indexOf('~') > -1) {						if (msg.startsWith("@CALL")) {							msg = msg.substring(5);							splitList = msg.split("~");							String name = "";							String number = "";							if (splitList.length == 0) {								name = "";								number = "";							}							if (splitList.length == 1) {								if (!splitList[0].equals("")) {									name = splitList[0];									number = "";								}							}							if (splitList.length == 2) {								if (splitList[0].equals("")) {									name = "";								} else									name = splitList[0];								number = splitList[1];							}							jfritz.callInMsg(number, "", name);													} else {							outputString = JFritz.getMessage("yac_message")									+ ":\n" + msg;							JFritz.infoMsg(outputString);						}					} else {						outputString = JFritz.getMessage("yac_message") + ":\n"								+ msg;						JFritz.infoMsg(outputString);					}				}				socket.close();			}			serverSocket.close();		} catch (IOException e) {			Debug.err(e.toString());		}	}