code: String[] getSiteRowFields(String siteRow) {
  		String[] siteRowFields = new String[11];
  
  		Matcher matcher = Pattern.compile("[(,](['][^']*[']|[^'][^),]*)")
  				.matcher(siteRow);
  		int columnIndex = 0;
  		while (matcher.find()) {
  			String field = matcher.group().substring(1);
  			if (field.charAt(0) == '\'') {
  				field = field.substring(1, field.length() - 1);
  			}
  
  			siteRowFields[columnIndex] = field;
  			// ... will throw an exception if there are more fields than
  			// expected; this is fine.
  			columnIndex++;
  		}
  		return siteRowFields;
  	}
docs: Extract the individual fields for one row in the sites table. The entries
  are encoded by position, with the following meaning: 0: site_id, 1:
  site_global_key, 2: site_type, 3: site_group, 4: site_source 5:
  site_language, 6: site_protocol, 7: site_domain, 8: site_data, 9:
  site_forward, 10: site_config. The method assumes that this is the layout
  of the table, which is the case in MediaWiki 1.21 and above.
  
  @param siteRow
  the string representation of a row in the sites table, with
  the surrounding parentheses
  @return an array with the individual entries