private String reformRecipient(String recipient, ParseAddress visitor) {
		ArrayList<String> rules = visitor.rules;
		ArrayList<String> paraList = visitor.paraList;
		ArrayList<String> operators = visitor.operators;
		ArrayList<String> ruleTypeList = visitor.ruleTypeList; 

		String newRecipient = new String();
		if (recipient.contains("{") && recipient.contains("}")) {
			StringBuilder sb = new StringBuilder();
			for (int i = 0, j = 0; i < ruleTypeList.size(); i++) {
				if (ruleTypeList.get(i).equalsIgnoreCase("delivery")) {
					if (i != 0 && sb.length() != 0)
						sb.append(operators.get(i - 1));
					sb.append(rules.get(j) + "{" + paraList.get(j++) + "}");
				}
			}
			newRecipient = sb.toString() + "@" + visitor.getFullDomain();
		} else {
			StringBuilder sb1 = new StringBuilder();
			StringBuilder sb2 = new StringBuilder();
			for (int i = 0, j = 0; i < ruleTypeList.size(); i++) {
				if (ruleTypeList.get(i).equalsIgnoreCase("delivery")) {
					if (i != 0) {
						sb1.append(".");
						sb2.append(".");
					}
					sb1.append(paraList.get(j));
					sb2.append(rules.get(j++));
				}
			}
			newRecipient = sb1.toString() + "@" + sb2.toString() + "." + visitor.getFullDomain();
		}
		
		return newRecipient;
	}