ISelectionEngine refactoring
diff --git a/plugins/org.eclipse.dltk.python.core/src/org/eclipse/dltk/python/internal/core/codeassist/PythonSelectionEngine.java b/plugins/org.eclipse.dltk.python.core/src/org/eclipse/dltk/python/internal/core/codeassist/PythonSelectionEngine.java
index 9957135..ef30e5b 100644
--- a/plugins/org.eclipse.dltk.python.core/src/org/eclipse/dltk/python/internal/core/codeassist/PythonSelectionEngine.java
+++ b/plugins/org.eclipse.dltk.python.core/src/org/eclipse/dltk/python/internal/core/codeassist/PythonSelectionEngine.java
@@ -18,7 +18,6 @@
 import org.eclipse.dltk.codeassist.ScriptSelectionEngine;
 import org.eclipse.dltk.compiler.env.IModuleSource;
 import org.eclipse.dltk.core.DLTKCore;
-import org.eclipse.dltk.core.IModelElement;
 import org.eclipse.dltk.internal.codeassist.select.SelectionNodeFound;
 import org.eclipse.dltk.python.internal.core.parser.PythonParseUtils;
 
@@ -45,8 +44,8 @@
 		// nameEnvironment);
 	}
 
-	public IModelElement[] select(IModuleSource sourceUnit,
-			int selectionSourceStart, int selectionSourceEnd) {
+	public void select(IModuleSource sourceUnit, int selectionSourceStart,
+			int selectionSourceEnd) {
 
 		String source = sourceUnit.getSourceContents();
 		if (DEBUG) {
@@ -60,7 +59,7 @@
 			System.out.println(source);
 		}
 		if (!checkSelection(source, selectionSourceStart, selectionSourceEnd)) {
-			return new IModelElement[0];
+			return;
 		}
 		if (DEBUG) {
 			System.out.print("SELECTION - Checked : \""); //$NON-NLS-1$
@@ -108,9 +107,7 @@
 				e.printStackTrace(System.out);
 			}
 		}
-
-		return (IModelElement[]) selectionElements
-				.toArray(new IModelElement[selectionElements.size()]);
+		reportModelElements(selectionElements);
 	}
 
 	private void select(ASTNode astNode, ASTNode astNodeParent) {