public List<Object> getComponentsOfGroup(String type) {
		List<Object> list = new ArrayList<Object>();
		Object name = null, attr = null;
		AbstractDocument.BranchElement section = (AbstractDocument.BranchElement) getDocument().getDefaultRootElement();
		Enumeration enum1 = section.children();
		AbstractDocument.BranchElement paragraph = null;
		Enumeration enum2 = null, enum3 = null;
		AbstractDocument.LeafElement content = null;
		while (enum1.hasMoreElements()) {
			paragraph = (AbstractDocument.BranchElement) enum1.nextElement();
			enum2 = paragraph.children();
			while (enum2.hasMoreElements()) {
				content = (AbstractDocument.LeafElement) enum2.nextElement();
				enum3 = content.getAttributeNames();
				while (enum3.hasMoreElements()) {
					name = enum3.nextElement();
					attr = content.getAttribute(name);
					if (type.equals("Question")) {
						if (attr instanceof PageTextField || attr instanceof PageTextArea || attr instanceof PageMultipleChoice || attr instanceof ImageQuestion) {
							list.add(attr);
						} else if (attr instanceof PageTextBox) {
							List x = ((PageTextBox) attr).getEmbeddedComponents(JTextComponent.class);
							if (x != null)
								list.addAll(x);
						}
					} else if (type.equals("Model Container")) {
						if (attr instanceof Engine)
							list.add(attr);
					}
				}
			}
		}
		return list;
	}