private Map<String, Object> parseA(List<String> rawdata, Map<String, String> contacts) {
		WhoisMap rdMap = new WhoisMap();

		List<String> cList = null;
		boolean cRead = false;

		for (String line : rawdata) {
			if (!Utility.isEmpty( contacts )) {
				String test = line.trim().toLowerCase();
				// If we find a contact prefix, read to its end and save as line list.
				for (String key : contacts.keySet()) {
					if (test.startsWith( key )) {
						String val = contacts.get( key );

						if ("break".equals( val )) {
							cRead = false;
							break;
						}
						else {
							cList = new ArrayList<String>();
							rdMap.getMap().put( val, cList );
							cRead = true;
							break;
						}
					}
				}
				if (cRead) {
					cList.add( line.trim() );
					continue;
				}
			}

			// We only takes the line matches REGEX_BLINE
			Matcher m = pnLineB.matcher( line );
			if (m.find()) {
				rdMap.set( m.group( 1 ).trim().toLowerCase(), m.group( 3 ).trim(), true );
			}
		}
		return rdMap.getMap();
	}