public Request(String plainRequest) {
		if(plainRequest == null) {
			return;
		}
		
		try {
			items = new HashMap<String, ArrayList<String>>();
			
			Document document = DocumentHelper.parseText(plainRequest);
			Element requestElement = document.getRootElement();
			
			ArrayList<Element> itemElements = new ArrayList<Element>(requestElement.elements("item"));
			Iterator<Element> iitem = itemElements.iterator();
			while(iitem.hasNext()) {
				Element itemElement = iitem.next();
				String subject = itemElement.attributeValue("subject");
				if(subject == null || subject.isEmpty()) {
					continue;
				}
				
				ArrayList<String> predicates = new ArrayList<String>();
				ArrayList<Element> predicateElements = new ArrayList<Element>(itemElement.elements("predicate"));
				Iterator<Element> ipredicate = predicateElements.iterator();
				while(ipredicate.hasNext()) {
					Element predicateElement = ipredicate.next();
					String predicate = predicateElement.getText();
					if(predicate == null || predicate.isEmpty()) {
						continue;
					}
					predicates.add(predicate);
				}
				
				addItem(subject, predicates);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}