[245847] reduce warnings
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/base/impl/AbstractODFNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/base/impl/AbstractODFNodeFactory.java
index 6fb6903..db99620 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/base/impl/AbstractODFNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/base/impl/AbstractODFNodeFactory.java
@@ -13,15 +13,17 @@
 import java.lang.reflect.Constructor;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.w3c.dom.Element;
 
 
 public abstract class AbstractODFNodeFactory {
 
-	protected static Constructor findElementConstractor(Class cs) {
-		Constructor[] constructors = cs.getDeclaredConstructors();
+	@SuppressWarnings("unchecked")
+	protected static Constructor<? extends ODFElement> findElementConstractor(Class<? extends ODFElement> cs) {
+		Constructor<? extends ODFElement>[] constructors = cs.getDeclaredConstructors();
 		for (int i = 0; i < constructors.length; i++) {
-			Class[] parms = constructors[i].getParameterTypes();
+			Class<?>[] parms = constructors[i].getParameterTypes();
 			if (parms.length == 2 && parms[0].equals(ODFDocument.class)
 					&& parms[1].equals(Element.class)) {
 				return constructors[i];
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/chart/impl/ChartNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/chart/impl/ChartNodeFactory.java
index 914727b..152a3f6 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/chart/impl/ChartNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/chart/impl/ChartNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.chart.ChartConstants;
 import org.w3c.dom.Element;
 
-
 public class ChartNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(ChartConstants.ELEMENT_CHART, ChartElementImpl.class);
@@ -47,7 +47,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/dr3d/impl/Dr3dNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/dr3d/impl/Dr3dNodeFactory.java
index 68bca15..a33f5b5 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/dr3d/impl/Dr3dNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/dr3d/impl/Dr3dNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.dr3d.Dr3dConstants;
 import org.w3c.dom.Element;
 
-
 public class Dr3dNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(Dr3dConstants.ELEMENT_LIGHT, LightElementImpl.class);
@@ -30,7 +30,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/FrameElement.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/FrameElement.java
index 17b71fb..0b2aee8 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/FrameElement.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/FrameElement.java
@@ -13,6 +13,7 @@
 import java.util.Iterator;
 
 import org.eclipse.actf.model.dom.odf.base.DrawingObjectElement;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 
 /**
  * Interface for &lt;draw:frame&gt; element.
@@ -36,5 +37,5 @@
 
 	public long getContentSize();
 
-	public Iterator getChildIterator();
+	public Iterator<ODFElement> getChildIterator();
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/DrawNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/DrawNodeFactory.java
index 663a570..4765aca 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/DrawNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/DrawNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.draw.DrawConstants;
 import org.w3c.dom.Element;
 
-
 public class DrawNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(DrawConstants.ELEMENT_AREA_CIRCLE,
@@ -69,7 +69,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/FrameElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/FrameElementImpl.java
index 9dfd647..143b76c 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/FrameElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/draw/impl/FrameElementImpl.java
@@ -96,13 +96,13 @@
 		return null;
 	}
 
-	private List<Node> getChildElements() {
-		List<Node> list = new Vector<Node>();
+	private List<ODFElement> getChildElements() {
+		List<ODFElement> list = new Vector<ODFElement>();
 		NodeList nl = this.getChildNodes();
 		for (int i = 0; i < nl.getLength(); i++) {
 			Node child = nl.item(i);
 			if (child instanceof ODFElement) {
-				list.add(child);
+				list.add((ODFElement)child);
 			}
 		}
 		return list;
@@ -112,7 +112,7 @@
 		return getChildElements().size();
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ODFElement> getChildIterator() {
 		return getChildElements().iterator();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/form/impl/FormNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/form/impl/FormNodeFactory.java
index 357c82e..af116ce 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/form/impl/FormNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/form/impl/FormNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.form.FormConstants;
 import org.w3c.dom.Element;
 
-
 public class FormNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(FormConstants.ELEMENT_BUTTON, ButtonElementImpl.class);
@@ -48,7 +48,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/number/impl/NumberNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/number/impl/NumberNodeFactory.java
index d06792a..b3d88b5 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/number/impl/NumberNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/number/impl/NumberNodeFactory.java
@@ -15,13 +15,14 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.number.NumberConstants;
 import org.w3c.dom.Element;
 
 
 public class NumberNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(NumberConstants.ELEMENT_NUMBER, NumberElementImpl.class);
@@ -32,7 +33,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/BodyElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/BodyElementImpl.java
index 79c7f5b..0fca75b 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/BodyElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/BodyElementImpl.java
@@ -15,16 +15,16 @@
 
 import org.eclipse.actf.model.dom.odf.base.ContentBaseElement;
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
 import org.eclipse.actf.model.dom.odf.office.BodyElement;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-
 class BodyElementImpl extends ODFElementImpl implements BodyElement {
 	private static final long serialVersionUID = -3847937030086999653L;
 
-	static private final List<Class> validBodyRootElement = new Vector<Class>();
+	static private final List<Class<? extends ODFElement>> validBodyRootElement = new Vector<Class<? extends ODFElement>>();
 	static {
 		validBodyRootElement.add(DrawingElementImpl.class);
 		validBodyRootElement.add(SpreadSheetElementImpl.class);
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/OfficeNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/OfficeNodeFactory.java
index cf0567a..b188fbd 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/OfficeNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/OfficeNodeFactory.java
@@ -15,13 +15,14 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.office.OfficeConstants;
 import org.w3c.dom.Element;
 
 
 public class OfficeNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(OfficeConstants.ELEMENT_AUTOMATIC_STYLES,
@@ -47,7 +48,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/TextElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/TextElementImpl.java
index 64b5cca..60144f6 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/TextElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/office/impl/TextElementImpl.java
@@ -17,6 +17,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
 import org.eclipse.actf.model.dom.odf.office.TextElement;
 import org.eclipse.actf.model.dom.odf.range.IContentRange;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.TextRange;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.w3c.dom.Element;
@@ -48,7 +49,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/NotesElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/NotesElementImpl.java
index 8a875e2..b870177 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/NotesElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/NotesElementImpl.java
@@ -17,6 +17,7 @@
 import org.eclipse.actf.model.dom.odf.content.IEditListener;
 import org.eclipse.actf.model.dom.odf.content.IEditable;
 import org.eclipse.actf.model.dom.odf.presentation.NotesElement;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.w3c.dom.Element;
 
 
@@ -62,7 +63,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/PresentationNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/PresentationNodeFactory.java
index b3dd3e8..11d7a48 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/PresentationNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/presentation/impl/PresentationNodeFactory.java
@@ -15,13 +15,14 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.presentation.PresentationConstants;
 import org.w3c.dom.Element;
 
 
 public class PresentationNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(PresentationConstants.ELEMENT_NOTES, NotesElementImpl.class);
@@ -29,7 +30,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/ITextElementContainer.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/ITextElementContainer.java
index 03d07b2..9bae01d 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/ITextElementContainer.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/ITextElementContainer.java
@@ -12,8 +12,10 @@
 
 import java.util.Iterator;
 
-public interface ITextElementContainer {
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
+
+public interface ITextElementContainer extends ODFElement{
 	public long getContentSize();
 
-	public Iterator getChildIterator();
+	public Iterator<ITextElementContainer> getChildIterator();
 }
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/impl/ITextElementContainerUtil.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/impl/ITextElementContainerUtil.java
index b9b031f..6879a0b 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/impl/ITextElementContainerUtil.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/range/impl/ITextElementContainerUtil.java
@@ -19,16 +19,15 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 public final class ITextElementContainerUtil {
 
-	private static List getChildList(Element el) {
-		List<Node> list = new Vector<Node>();
+	private static List<ITextElementContainer> getChildList(Element el) {
+		List<ITextElementContainer> list = new Vector<ITextElementContainer>();
 		NodeList nl = el.getChildNodes();
 		for (int i = 0; i < nl.getLength(); i++) {
 			Node child = nl.item(i);
 			if (child instanceof ITextElementContainer) {
-				list.add(child);
+				list.add((ITextElementContainer) child);
 			}
 		}
 		return list;
@@ -38,7 +37,7 @@
 		return getChildList(el).size();
 	}
 
-	public static Iterator getChildIterator(Element el) {
+	public static Iterator<ITextElementContainer> getChildIterator(Element el) {
 		return getChildList(el).iterator();
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/style/impl/StyleNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/style/impl/StyleNodeFactory.java
index f5275aa..8ac7cab 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/style/impl/StyleNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/style/impl/StyleNodeFactory.java
@@ -15,13 +15,14 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.style.StyleConstants;
 import org.w3c.dom.Element;
 
 
 public class StyleNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(StyleConstants.ELEMENT_DEFAULT_STYLE,
@@ -57,7 +58,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/svg/impl/SVGNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/svg/impl/SVGNodeFactory.java
index 39f29f9..f498820 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/svg/impl/SVGNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/svg/impl/SVGNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.svg.SVGConstants;
 import org.w3c.dom.Element;
 
-
 public class SVGNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(SVGConstants.ELEMENT_TITLE, TitleElementImpl.class);
@@ -30,7 +30,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableElement.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableElement.java
index 71cd238..f44e4ac 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableElement.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableElement.java
@@ -42,11 +42,11 @@
 
 	public int getTableColumnSize();
 
-	public List getTableColumnChildren();
+	public List<TableColumnElement> getTableColumnChildren();
 
 	public int getTableRowSize();
 
-	public List getTableRowChildren();
+	public List<TableRowElement> getTableRowChildren();
 
 	public boolean hasTableCellStyle(int column, int row);
 
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderColumnsElement.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderColumnsElement.java
index 46d7bed..f774607 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderColumnsElement.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderColumnsElement.java
@@ -22,5 +22,5 @@
 
 	public TableElement getTableElement();
 
-	public List getTableColumChildren();
+	public List<TableColumnElement> getTableColumChildren();
 }
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderRowsElement.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderRowsElement.java
index 74a9ba4..0a7dc22 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderRowsElement.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableHeaderRowsElement.java
@@ -22,5 +22,5 @@
 
 	public TableElement getTableElement();
 
-	public List getTableRowChildren();
+	public List<TableRowElement> getTableRowChildren();
 }
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowElement.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowElement.java
index 53d8249..a71b2b6 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowElement.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowElement.java
@@ -31,5 +31,5 @@
 
 	public TableElement getTableElement();
 
-	public List getTableCellChildren();
+	public List<TableCellElement> getTableCellChildren();
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowsElement.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowsElement.java
index d8ab490..ffa00bb 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowsElement.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/TableRowsElement.java
@@ -18,5 +18,5 @@
  * Interface for <table:table-rows> element.
  */
 public interface TableRowsElement extends ODFElement {
-	public List getTableRowChildren();
+	public List<TableRowElement> getTableRowChildren();
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/CoveredTableCellElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/CoveredTableCellElementImpl.java
index 304014c..59a7768 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/CoveredTableCellElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/CoveredTableCellElementImpl.java
@@ -17,6 +17,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.content.IStyleListener;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.style.StyleConstants;
 import org.eclipse.actf.model.dom.odf.style.StyleElement;
 import org.eclipse.actf.model.dom.odf.table.CoveredTableCellElement;
@@ -64,7 +65,7 @@
 
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableCellElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableCellElementImpl.java
index ad8f7b8..87edfb4 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableCellElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableCellElementImpl.java
@@ -19,6 +19,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.content.IStyleListener;
 import org.eclipse.actf.model.dom.odf.office.OfficeConstants;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.eclipse.actf.model.dom.odf.style.StyleConstants;
 import org.eclipse.actf.model.dom.odf.style.StyleElement;
@@ -29,7 +30,6 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-
 class TableCellElementImpl extends ODFStylableElementImpl implements
 		TableCellElement {
 	private static final long serialVersionUID = -4617536939760820397L;
@@ -71,13 +71,13 @@
 		if (tableElement == null)
 			return -1;
 
-		List rowList = tableElement.getTableRowChildren();
+		List<TableRowElement> rowList = tableElement.getTableRowChildren();
 		if (rowList == null)
 			return -1;
 
 		for (int i = 0; i < rowList.size(); i++) {
 			TableRowElement row = (TableRowElement) rowList.get(i);
-			List cellList = row.getTableCellChildren();
+			List<TableCellElement> cellList = row.getTableCellChildren();
 			if (cellList != null) {
 				for (int j = 0; j < cellList.size(); j++) {
 					if (cellList.get(j).equals(this)) {
@@ -95,13 +95,13 @@
 		if (tableElement == null)
 			return -1;
 
-		List rowList = tableElement.getTableRowChildren();
+		List<TableRowElement> rowList = tableElement.getTableRowChildren();
 		if (rowList == null)
 			return -1;
 
 		for (int i = 0; i < rowList.size(); i++) {
-			TableRowElement row = (TableRowElement) rowList.get(i);
-			List cellList = row.getTableCellChildren();
+			TableRowElement row = rowList.get(i);
+			List<TableCellElement> cellList = row.getTableCellChildren();
 			if (cellList != null) {
 				for (int j = 0; j < cellList.size(); j++) {
 					if (cellList.get(j).equals(this)) {
@@ -119,13 +119,13 @@
 		if (tableElement == null)
 			return -1;
 
-		List rowList = tableElement.getTableRowChildren();
+		List<TableRowElement> rowList = tableElement.getTableRowChildren();
 		if (rowList == null)
 			return -1;
 
 		for (int i = 0; i < rowList.size(); i++) {
-			TableRowElement row = (TableRowElement) rowList.get(i);
-			List cellList = row.getTableCellChildren();
+			TableRowElement row = rowList.get(i);
+			List<TableCellElement> cellList = row.getTableCellChildren();
 			if (cellList != null) {
 				for (int j = 0; j < cellList.size(); j++) {
 					if (cellList.get(j).equals(this)) {
@@ -142,7 +142,7 @@
 		if (tableElement == null)
 			return -1;
 
-		List rowList = tableElement.getTableRowChildren();
+		List<TableRowElement> rowList = tableElement.getTableRowChildren();
 		if (rowList == null)
 			return -1;
 
@@ -238,7 +238,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableElementImpl.java
index 542e599..e0a2fde 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableElementImpl.java
@@ -20,6 +20,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.office.BodyElement;
 import org.eclipse.actf.model.dom.odf.office.DocumentContentElement;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.eclipse.actf.model.dom.odf.table.TableCellElement;
 import org.eclipse.actf.model.dom.odf.table.TableColumnElement;
@@ -179,16 +180,16 @@
 		return size;
 	}
 
-	public List getTableColumnChildren() {
-		List<Node> colList = null;
+	public List<TableColumnElement> getTableColumnChildren() {
+		List<TableColumnElement> colList = null;
 		NodeList children = getChildNodes();
 		if (children != null) {
 			for (int i = 0; i < children.getLength(); i++) {
 				Node child = children.item(i);
 				if (child instanceof TableColumnElement) {
 					if (colList == null)
-						colList = new Vector<Node>();
-					colList.add(child);
+						colList = new Vector<TableColumnElement>();
+					colList.add((TableColumnElement) child);
 				} else if ((child instanceof TableHeaderColumnsElement)
 						|| (child instanceof TableColumnElement)) {
 					NodeList grandChildren = child.getChildNodes();
@@ -196,8 +197,8 @@
 						Node grandChild = grandChildren.item(j);
 						if (grandChild instanceof TableColumnElement) {
 							if (colList == null)
-								colList = new Vector<Node>();
-							colList.add(grandChild);
+								colList = new Vector<TableColumnElement>();
+							colList.add((TableColumnElement) grandChild);
 						}
 					}
 				}
@@ -239,23 +240,25 @@
 		return size;
 	}
 
-	public List getTableRowChildren() {
-		List<Node> rowList = null;
+	public List<TableRowElement> getTableRowChildren() {
+		List<TableRowElement> rowList = null;
 		NodeList children = getChildNodes();
 		if (children != null) {
 			for (int i = 0; i < children.getLength(); i++) {
 				if (children.item(i) instanceof TableRowElement) {
 					if (rowList == null)
-						rowList = new Vector<Node>();
-					rowList.add(children.item(i));
+						rowList = new Vector<TableRowElement>();
+					rowList.add((TableRowElement) children.item(i));
 				} else if ((children.item(i) instanceof TableHeaderRowsElement)
 						|| (children.item(i) instanceof TableRowsElement)) {
 					NodeList grandChildren = children.item(i).getChildNodes();
 					for (int j = 0; j < grandChildren.getLength(); j++) {
 						if (grandChildren.item(j) instanceof TableRowElement) {
 							if (rowList == null)
-								rowList = new Vector<Node>();
-							rowList.add(grandChildren.item(j));
+								rowList = new Vector<TableRowElement>();
+							rowList
+									.add((TableRowElement) grandChildren
+											.item(j));
 						}
 					}
 				}
@@ -280,9 +283,9 @@
 
 	public boolean hasTableCellStyle(int column, int row) {
 		TableRowElement rowElement = getTableRowChild(row);
-		List cellElems = rowElement.getTableCellChildren();
+		List<TableCellElement> cellElems = rowElement.getTableCellChildren();
 		for (int i = 0, colCount = 0; i < cellElems.size(); i++) {
-			TableCellElement cellElem = (TableCellElement) cellElems.get(i);
+			TableCellElement cellElem = cellElems.get(i);
 			if (cellElem.hasAttributeNS(TableConstants.TABLE_NAMESPACE_URI,
 					TableConstants.ATTR_NUMBER_COLUMNS_REPEATED)) {
 				colCount += cellElem.getAttrTableNumberColumnsRepeated();
@@ -339,7 +342,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderColumnsElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderColumnsElementImpl.java
index b843e4e..2bb86ed 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderColumnsElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderColumnsElementImpl.java
@@ -22,7 +22,6 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 class TableHeaderColumnsElementImpl extends ODFElementImpl implements
 		TableHeaderColumnsElement {
 	private static final long serialVersionUID = -2836780502407580629L;
@@ -49,15 +48,15 @@
 		return tableElement;
 	}
 
-	public List getTableColumChildren() {
-		List<Node> columnList = null;
+	public List<TableColumnElement> getTableColumChildren() {
+		List<TableColumnElement> columnList = null;
 
 		NodeList children = getChildNodes();
 		for (int i = 0; i < children.getLength(); i++) {
 			if (children.item(i) instanceof TableColumnElement) {
 				if (columnList == null)
-					columnList = new Vector<Node>();
-				columnList.add(children.item(i));
+					columnList = new Vector<TableColumnElement>();
+				columnList.add((TableColumnElement) children.item(i));
 			}
 		}
 
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderRowsElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderRowsElementImpl.java
index 887ffff..c80228b 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderRowsElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableHeaderRowsElementImpl.java
@@ -22,7 +22,6 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 class TableHeaderRowsElementImpl extends ODFElementImpl implements
 		TableHeaderRowsElement {
 	private static final long serialVersionUID = 8078924819161617838L;
@@ -49,15 +48,15 @@
 		return tableElement;
 	}
 
-	public List getTableRowChildren() {
-		List<Node> rowList = null;
+	public List<TableRowElement> getTableRowChildren() {
+		List<TableRowElement> rowList = null;
 
 		NodeList children = getChildNodes();
 		for (int i = 0; i < children.getLength(); i++) {
 			if (children.item(i) instanceof TableRowElement) {
 				if (rowList == null)
-					rowList = new Vector<Node>();
-				rowList.add(children.item(i));
+					rowList = new Vector<TableRowElement>();
+				rowList.add((TableRowElement) children.item(i));
 			}
 		}
 
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableNodeFactory.java
index 14552c4..613141e 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.table.TableConstants;
 import org.w3c.dom.Element;
 
-
 public class TableNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(TableConstants.ELEMENT_TABLE, TableElementImpl.class);
@@ -44,7 +44,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowElementImpl.java
index 9e2e55f..27bf121 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowElementImpl.java
@@ -17,6 +17,7 @@
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.content.IStyleListener;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.eclipse.actf.model.dom.odf.style.StyleElement;
 import org.eclipse.actf.model.dom.odf.table.TableCellElement;
@@ -27,7 +28,6 @@
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 class TableRowElementImpl extends ODFStylableElementImpl implements
 		TableRowElement {
 	private static final long serialVersionUID = 4515268211599720829L;
@@ -92,15 +92,15 @@
 		return tableElement;
 	}
 
-	public List getTableCellChildren() {
-		List<Node> cellList = null;
+	public List<TableCellElement> getTableCellChildren() {
+		List<TableCellElement> cellList = null;
 
 		NodeList children = getChildNodes();
 		for (int i = 0; i < children.getLength(); i++) {
 			if (children.item(i) instanceof TableCellElement) {
 				if (cellList == null)
-					cellList = new Vector<Node>();
-				cellList.add(children.item(i));
+					cellList = new Vector<TableCellElement>();
+				cellList.add((TableCellElement) children.item(i));
 			}
 		}
 
@@ -131,7 +131,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowsElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowsElementImpl.java
index 6ae1304..98ecda1 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowsElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/table/impl/TableRowsElementImpl.java
@@ -18,10 +18,8 @@
 import org.eclipse.actf.model.dom.odf.table.TableRowElement;
 import org.eclipse.actf.model.dom.odf.table.TableRowsElement;
 import org.w3c.dom.Element;
-import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 class TableRowsElementImpl extends ODFElementImpl implements TableRowsElement {
 	private static final long serialVersionUID = 4890512236727973374L;
 
@@ -29,15 +27,15 @@
 		super(odfDoc, element);
 	}
 
-	public List getTableRowChildren() {
-		List<Node> rowList = null;
+	public List<TableRowElement> getTableRowChildren() {
+		List<TableRowElement> rowList = null;
 
 		NodeList children = getChildNodes();
 		for (int i = 0; i < children.getLength(); i++) {
 			if (children.item(i) instanceof TableRowElement) {
 				if (rowList == null)
-					rowList = new Vector<Node>();
-				rowList.add(children.item(i));
+					rowList = new Vector<TableRowElement>();
+				rowList.add((TableRowElement) children.item(i));
 			}
 		}
 
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AElementImpl.java
index d4b95e9..6476e9e 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AElementImpl.java
@@ -20,6 +20,7 @@
 import org.eclipse.actf.model.dom.odf.content.IEditable;
 import org.eclipse.actf.model.dom.odf.draw.DrawConstants;
 import org.eclipse.actf.model.dom.odf.office.OfficeConstants;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.eclipse.actf.model.dom.odf.table.TableConstants;
 import org.eclipse.actf.model.dom.odf.text.AElement;
@@ -117,7 +118,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AlphabeticalIndexElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AlphabeticalIndexElementImpl.java
index 6f310a3..1703419 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AlphabeticalIndexElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/AlphabeticalIndexElementImpl.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.AlphabeticalIndexElement;
 import org.w3c.dom.Element;
 
@@ -31,7 +32,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/HElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/HElementImpl.java
index 5b5c02b..024f2dd 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/HElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/HElementImpl.java
@@ -17,6 +17,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.content.IEditListener;
 import org.eclipse.actf.model.dom.odf.content.IEditable;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.eclipse.actf.model.dom.odf.text.HElement;
 import org.eclipse.actf.model.dom.odf.text.TextConstants;
@@ -99,7 +100,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexBodyElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexBodyElementImpl.java
index ec6229d..e36c1ac 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexBodyElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexBodyElementImpl.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.IndexBodyElement;
 import org.w3c.dom.Element;
 
@@ -30,7 +31,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexTitleElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexTitleElementImpl.java
index dff29c7..eeefbb2 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexTitleElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/IndexTitleElementImpl.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.IndexTitleElement;
 import org.w3c.dom.Element;
 
@@ -30,7 +31,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListElementImpl.java
index 103b836..d211988 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListElementImpl.java
@@ -15,6 +15,7 @@
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.style.StyleConstants;
 import org.eclipse.actf.model.dom.odf.style.StyleElement;
 import org.eclipse.actf.model.dom.odf.text.ListElement;
@@ -87,7 +88,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListHeaderElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListHeaderElementImpl.java
index 7d914c2..4553bc9 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListHeaderElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListHeaderElementImpl.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.ListHeaderElement;
 import org.w3c.dom.Element;
 
@@ -26,7 +27,7 @@
 		super(odfDoc, element);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListItemElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListItemElementImpl.java
index d6021fe..4bc3f9e 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListItemElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/ListItemElementImpl.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.ListItemElement;
 import org.w3c.dom.Element;
 
@@ -31,7 +32,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/PElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/PElementImpl.java
index c8ff8ac..c8c8493 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/PElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/PElementImpl.java
@@ -18,6 +18,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.content.IEditListener;
 import org.eclipse.actf.model.dom.odf.content.IEditable;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.range.impl.ITextElementContainerUtil;
 import org.eclipse.actf.model.dom.odf.style.StyleConstants;
 import org.eclipse.actf.model.dom.odf.style.StyleElement;
@@ -88,7 +89,7 @@
 		return ITextElementContainerUtil.getContentSize(this);
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		return ITextElementContainerUtil.getChildIterator(this);
 	}
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/SectionElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/SectionElementImpl.java
index 2bdb326..bc761b1 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/SectionElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/SectionElementImpl.java
@@ -16,6 +16,7 @@
 import org.eclipse.actf.model.dom.odf.base.impl.ODFStylableElementImpl;
 import org.eclipse.actf.model.dom.odf.content.IEditListener;
 import org.eclipse.actf.model.dom.odf.content.IEditable;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.SectionElement;
 import org.w3c.dom.Element;
 
@@ -63,7 +64,7 @@
 		return null;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TableOfContentElementImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TableOfContentElementImpl.java
index ef878a2..276f9a7 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TableOfContentElementImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TableOfContentElementImpl.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
 import org.eclipse.actf.model.dom.odf.base.impl.ODFElementImpl;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.text.TableOfContentElement;
 import org.w3c.dom.Element;
 
@@ -31,7 +32,7 @@
 		return 0;
 	}
 
-	public Iterator getChildIterator() {
+	public Iterator<ITextElementContainer> getChildIterator() {
 		// TODO Auto-generated method stub
 		return null;
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TextNodeFactory.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TextNodeFactory.java
index 8fa482e..b08ad94 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TextNodeFactory.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/text/impl/TextNodeFactory.java
@@ -15,13 +15,13 @@
 import java.util.Map;
 
 import org.eclipse.actf.model.dom.odf.base.ODFDocument;
+import org.eclipse.actf.model.dom.odf.base.ODFElement;
 import org.eclipse.actf.model.dom.odf.base.impl.AbstractODFNodeFactory;
 import org.eclipse.actf.model.dom.odf.text.TextConstants;
 import org.w3c.dom.Element;
 
-
 public class TextNodeFactory extends AbstractODFNodeFactory {
-	private static final Map<String, Class> tagMap = new HashMap<String, Class>();
+	private static final Map<String, Class<? extends ODFElement>> tagMap = new HashMap<String, Class<? extends ODFElement>>();
 
 	static {
 		tagMap.put(TextConstants.ELEMENT_A, AElementImpl.class);
@@ -71,7 +71,7 @@
 
 	public static Element createElement(ODFDocument odfDoc, String tagName,
 			Element element) {
-		Class cs = (Class) tagMap.get(tagName);
+		Class<? extends ODFElement> cs = tagMap.get(tagName);
 		if (null == cs) {
 			return null;
 		}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/AccessibilityFixEngine.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/AccessibilityFixEngine.java
index 9e0d1b5..cbc6e49 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/AccessibilityFixEngine.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/AccessibilityFixEngine.java
@@ -230,19 +230,20 @@
 				Element headerRow = doc.createElement(tablePrefix + ":"
 						+ TableConstants.ELEMENT_TABLE_HEADER_ROWS);
 
-				List rowList = ((TableElement) target).getTableRowChildren();
+				List<TableRowElement> rowList = ((TableElement) target)
+						.getTableRowChildren();
 				for (int i = 0; i < rowList.size(); i++) {
-					expandRepeatedTableRow((TableRowElement) rowList.get(i));
+					expandRepeatedTableRow(rowList.get(i));
 				}
 
 				rowList = ((TableElement) target).getTableRowChildren();
 				if ((rowList.size() == 0) || (headerNum > rowList.size()))
 					return false;
 
-				Node newHeaderRow = target.insertBefore(headerRow,
-						(Node) rowList.get(0));
+				Node newHeaderRow = target.insertBefore(headerRow, rowList
+						.get(0));
 				for (int i = 0; i < headerNum; i++) {
-					TableRowElement row = (TableRowElement) rowList.get(i);
+					TableRowElement row = rowList.get(i);
 					newHeaderRow.appendChild(row);
 				}
 				return true;
@@ -281,10 +282,10 @@
 				Element headerColumn = doc.createElement(tablePrefix + ":"
 						+ TableConstants.ELEMENT_TABLE_HEADER_COLUMNS);
 
-				List colList = ((TableElement) target).getTableColumnChildren();
+				List<TableColumnElement> colList = ((TableElement) target)
+						.getTableColumnChildren();
 				for (int i = 0; i < colList.size(); i++) {
-					expandRepeatedTableColumn((TableColumnElement) colList
-							.get(i));
+					expandRepeatedTableColumn(colList.get(i));
 				}
 
 				colList = ((TableElement) target).getTableColumnChildren();
@@ -292,10 +293,9 @@
 					return false;
 
 				Node newHeaderColumn = target.insertBefore(headerColumn,
-						(Node) colList.get(0));
+						colList.get(0));
 				for (int i = 0; i < headerNum; i++) {
-					TableColumnElement col = (TableColumnElement) colList
-							.get(i);
+					TableColumnElement col = colList.get(i);
 					newHeaderColumn.appendChild(col);
 				}
 				return true;
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/impl/ScreenReaderSimulatorImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/impl/ScreenReaderSimulatorImpl.java
index 9b2c8f4..2e1d2d1 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/impl/ScreenReaderSimulatorImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/accessibility/impl/ScreenReaderSimulatorImpl.java
@@ -29,13 +29,13 @@
 import org.eclipse.actf.model.dom.odf.office.SpreadSheetElement;
 import org.eclipse.actf.model.dom.odf.office.TextElement;
 import org.eclipse.actf.model.dom.odf.presentation.NotesElement;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.table.TableElement;
 import org.eclipse.actf.model.dom.odf.util.accessibility.ScreenReaderSimulator;
 import org.eclipse.actf.model.dom.odf.util.converter.impl.TextExtractorImpl;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
-
 public class ScreenReaderSimulatorImpl implements ScreenReaderSimulator {
 	private ODFElement curElem = null;
 
@@ -120,7 +120,8 @@
 
 	private String getTextDocumentContent(TextElement textElem) {
 		StringWriter writer = new StringWriter();
-		for (Iterator iter = textElem.getChildIterator(); iter.hasNext();) {
+		for (Iterator<ITextElementContainer> iter = textElem.getChildIterator(); iter
+				.hasNext();) {
 			Element child = (Element) iter.next();
 			if (child instanceof ODFElement) {
 				String str = getElementContent((ODFElement) child);
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/HTMLConverter.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/HTMLConverter.java
index f2ebfc1..2a54d89 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/HTMLConverter.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/HTMLConverter.java
@@ -38,6 +38,7 @@
 import org.eclipse.actf.model.dom.odf.office.SpreadSheetElement;
 import org.eclipse.actf.model.dom.odf.office.TextElement;
 import org.eclipse.actf.model.dom.odf.presentation.NotesElement;
+import org.eclipse.actf.model.dom.odf.range.ITextElementContainer;
 import org.eclipse.actf.model.dom.odf.style.DefaultStyleElement;
 import org.eclipse.actf.model.dom.odf.style.FontFaceElement;
 import org.eclipse.actf.model.dom.odf.style.GraphicPropertiesElement;
@@ -392,8 +393,8 @@
 
 	private void convertTextDoc(PrintWriter writer, File dir,
 			TextElement textElem, boolean enableStyle) {
-		for (Iterator iter = textElem.getChildIterator(); iter.hasNext();) {
-			ODFElement child = (ODFElement) iter.next();
+		for (Iterator<ITextElementContainer> iter = textElem.getChildIterator(); iter.hasNext();) {
+			ODFElement child = iter.next();
 			extractContent(writer, dir, child, enableStyle);
 		}
 	}
diff --git a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/TextExtractorImpl.java b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/TextExtractorImpl.java
index a7ea7d0..d2c4439 100644
--- a/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/TextExtractorImpl.java
+++ b/plugins/org.eclipse.actf.model.dom.odf/src/org/eclipse/actf/model/dom/odf/util/converter/impl/TextExtractorImpl.java
@@ -146,15 +146,15 @@
 	private boolean writeFrameElementContent(Writer writer, File dir,
 			FrameElement elem, boolean enableStyle) {
 		boolean addedTextContent = false;
-		Iterator iter = ((FrameElement) elem).getChildIterator();
+		Iterator<ODFElement> iter = ((FrameElement) elem).getChildIterator();
 		if (iter.hasNext()) {
-			ODFElement firstContent = (ODFElement) iter.next();
+			ODFElement firstContent = iter.next();
 			if (firstContent != null) {
 				addedTextContent |= converter.extractContent(writer, dir,
 						firstContent, enableStyle);
 				if (iter.hasNext()) {
 					// if this frame has image map
-					ODFElement secondContent = (ODFElement) iter.next();
+					ODFElement secondContent = iter.next();
 					if ((secondContent != null)
 							&& (secondContent instanceof ImageMapElement)) {
 						addedTextContent |= converter.extractContent(writer,