public void parse(String line) throws IOException {
			String[] split = line.split(" +");		// Split on whitespace
			if (split.length < 4) {
				throw new IOException("Parsing error");
			}
			type = split[0];
			database = split[1];
			user = split[2];
			int nextPos = 3;
			if (type.equals("local")) {		// "local" type has no address
				address = null;
			}
			else {
				address = split[3];
				nextPos = 4;
			}
			if (nextPos >= split.length) {
				throw new IOException("Parsing error");
			}
			method = split[nextPos];
			nextPos += 1;
			if (nextPos >= split.length) {
				options = null;
				return;
			}
			StringBuilder buffer = new StringBuilder();
			buffer.append(split[nextPos]);
			nextPos += 1;
			while (nextPos < split.length) {
				buffer.append(' ');
				buffer.append(split[nextPos]);
				nextPos += 1;
			}
			options = buffer.toString();
		}
Parse the fields out of a line of the connection file
@param line the text to parse
@throws IOException if the text is not formatted properly to parse
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/ServerConfig.java