public FSList getChapters() {
		// try reading it from disk
		String readpath  = "/springfield/lisa/data/linkedtv/"+mediaResourceId+"/chapters.xml";
		System.out.println("READPATH="+readpath);
		String body  = readFile(readpath);
		if (body==null) {
			Response response = HttpHelper.sendRequest("GET", MAGGIE+"&id="+mediaResourceId+"&chapters");
			if (response.getStatusCode() != 200) {
				System.out.println("Statuscode = "+response.getStatusCode());
				return new FSList();
			} else {
				body = response.toString();
			}
		//System.out.println("CHAPTERS="+response.toString());
		} else {
			System.out.println("READING FROM LISA DISK CACHE "+readpath);
		}
		this.chapters = new FSList();
		
			try {
				Document doc = DocumentHelper.parseText(body);
				List<Node> nodes = doc.selectNodes("//chapter");
				String presentationUri = doc.selectSingleNode("properties/presentation") == null ? "" : doc.selectSingleNode("properties/presentation").getText();
				presentationUri += "chapters";
				
				FSList chapters = new FSList(presentationUri);
				
				for (Node chapter : nodes) {
					Element c = (Element)chapter;					
					FsNode result = new FsNode("unknown","unknown");
					
					result.setName(c.getName());
					result.setId(c.attribute("id").getText());
					result.setPath(presentationId+"/"+result.getName()+"/"+result.getId());
					result.setImageBaseUri(stillsUri);
					
					List<Node> properties = c.selectNodes("properties/*");
					for (Node property : properties) {
						//System.out.println("DANIEL: "+property.getName()+"="+property.getText());
						result.setProperty(property.getName(), property.getText());
					}					
					chapters.addNode(result);
				}
				this.chapters = chapters;
				return chapters;
				
			} catch (DocumentException e) {
				System.out.println("What? "+e.getMessage());
				return new FSList();
			}		
	}