Index: tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java
===================================================================
--- tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 1398)
+++ tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 1399)
@@ -132,7 +132,7 @@
 			Log.printStackTrace(e);
 		}
 		// Listener
-		propertiesSelector.addSelectionListener(new ComputeSelectionListener(this));
+		propertiesSelector.addSelectionListener(computeSelectionListener);
 		
 		// Structural unit properties selector
 		structuralUnitPropertiesSelector = new PropertiesSelector<StructuralUnitProperty>(parametersArea);
Index: tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java
===================================================================
--- tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java	(revision 1398)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java	(revision 1399)
@@ -8,7 +8,7 @@
  * - set the number of property to 1 
  * - hide the query field
  * 
- *  @author mdecorde.
+ *  @author mdecorde
  */
 public class LexiconEditor extends IndexEditor {
 	
@@ -28,6 +28,6 @@
 		this.queryLabel.dispose();
 		
 		// no query field -> no need to expand the zone
-		getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
+		this.getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
 	}
 }
\ No newline at end of file
Index: tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 1398)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 1399)
@@ -24,6 +24,7 @@
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.BackingStoreException;
 import org.txm.Toolbox;
+import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.objects.Project;
@@ -72,6 +73,10 @@
 	public static final Pattern FILE_NAME_PATTERN = Pattern.compile("[^a-zA-Z0-9\\.-]+"); //$NON-NLS-1$
 	public static final String UNDERSCORE = "_";
 
+	private static int next = 0;
+	
+
+	
 //	/**
 //	 * Unique ID of the result.
 //	 */
@@ -197,7 +202,7 @@
 	 */
 	public TXMResult(String parametersNodePath, TXMResult parent) {
 		if (parent == this) {
-			throw new IllegalArgumentException("A result can not be parent of itself.");
+			throw new IllegalArgumentException("A result can not be parent of itself."); //$NON-NLS-1$
 		}
 		if (parent != null) {
 			parent.addChild(this);
@@ -215,7 +220,7 @@
 			this.parametersNodePath = parametersNodePath;
 		}
 
-		Log.finest("TXMResult.TXMResult(): parameters node path: " + this.parametersNodePath);
+		Log.finest("TXMResult.TXMResult(): parameters node path: " + this.parametersNodePath + "."); //$NON-NLS-1$ //$NON-NLS-2$
 
 		this.weight = 0;
 
@@ -223,7 +228,7 @@
 		//this.children = Collections.synchronizedList(new ArrayList<TXMResult>()); // FIXME: SJ: can fix the conccurent excpetion if needed
 
 		this.commandPreferencesNodePath = FrameworkUtil.getBundle(getClass()).getSymbolicName(); //$NON-NLS-1$
-		Log.finest("TXMResult.TXMResult(): command preferences node path: " + this.commandPreferencesNodePath);
+		Log.finest("TXMResult.TXMResult(): command preferences node path: " + this.commandPreferencesNodePath + "."); //$NON-NLS-1$ //$NON-NLS-2$
 
 
 		this.visible = true;
@@ -241,14 +246,14 @@
 				parent == null && 
 				this.parametersNodePath != null && 
 				!parentNodePath.isEmpty()) {
-			Log.warning("Searching parent with UUID: " + parentNodePath + "...");
+			Log.finest("Searching parent with UUID: " + parentNodePath + "..."); //$NON-NLS-1$ //$NON-NLS-2$
 			TXMResult retrievedParent = TXMResult.getResult(parentNodePath);
 			if (retrievedParent != null) {
-				Log.warning("Parent retrieved from UUID: " + retrievedParent + ".");
+				Log.finest("Parent retrieved from UUID: " + retrievedParent + "."); //$NON-NLS-1$ //$NON-NLS-2$
 				retrievedParent.addChild(this);
 			}
 			else {
-				Log.severe("Warning: no parent was found in project for path=" + parametersNodePath + " and puuid=" + parentNodePath + " preferences=" + this.dumpParameters());
+				Log.severe("Warning: no parent was found in project for path=" + parametersNodePath + " and puuid=" + parentNodePath + " preferences=" + this.dumpParameters()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 				// FIXME: commented for now
 				//TBXPreferences.delete(this);
 				return;
@@ -260,13 +265,13 @@
 			this.autoLoadParametersFromAnnotations(); // auto fill from Parameter annotations
 			this.loadParameters();  // subclasses manual settings
 		} catch (Exception e) {
-			Log.severe("Fail to load " + parametersNodePath + "result: " + e);
+			Log.severe("Fail to load " + parametersNodePath + "result: " + e); //$NON-NLS-1$ //$NON-NLS-2$
 			Log.printStackTrace(e);
 		}
 
 		// Log
 		if (this.parent == null)	{
-			Log.warning("Warning: the TXMResult of " + this.getClass() + " is attached to no parent. (uuid = " + this.parametersNodePath + ")");
+			Log.finest("Warning: the TXMResult of " + this.getClass() + " is attached to no parent. (uuid = " + this.parametersNodePath + ")");//$NON-NLS-1$ //$NON-NLS-2$
 		}
 
 		try {
@@ -288,21 +293,21 @@
 	}
 
 	/**
-	 * Froze the result -> cannot be recomputed
+	 * Freezes the result -> cannot be recomputed.
 	 */
-	public void froze() {
+	public void freeze() {
 		this.frozen = true;
 	}
 	
 	/**
-	 * Un-Froze the result -> can be recomputed
+	 * Unfreezes the result -> can be recomputed.
 	 */
-	public void unfroze() {
+	public void unfreeze() {
 		this.frozen = false;
 	}
 
 	/**
-	 * Froze/Un-Froze the result
+	 * Freezes/unfreezes the result.
 	 */
 	public void setFrozen(boolean frozen) {
 		this.frozen = frozen;
@@ -325,13 +330,12 @@
 		return UUID_PREFIX + ID_TIME_FORMAT.format(new Date(System.currentTimeMillis())) + "_" + nextInt();
 	}
 	
-	private static int next = 0;
 	/**
 	 * 
 	 * @return the next integer in the current session of TXM
 	 */
 	private static synchronized String nextInt() {
-		return String.format("%04d", next++);
+		return String.format("%04d", next++); //$NON-NLS-1$
 	}
 
 	/**
@@ -926,7 +930,9 @@
 			this.saveParameter(TXMPreferences.PARENT_PARAMETERS_NODE_PATH, this.parent.getParametersNodePath());
 		}
 
-		this.lazyName = this.getSimpleName();
+		if(this.hasBeenComputedOnce)	{
+			this.lazyName = this.getSimpleName();
+		}
 
 		List<Field> fields = this.getAllFields();
 
@@ -1035,6 +1041,7 @@
 			if (parameter == null || parameter.type() != parameterType) {
 				continue;
 			}
+			
 			String key = parameter.key();
 
 			if (key.isEmpty()) {
@@ -1902,23 +1909,25 @@
 	 */
 	protected boolean compute(IProgressMonitor monitor, boolean deepComputing) {
 
-		if (hasBeenComputedOnce && frozen) return true; // no changes to do
+		// no changes to do
+		// FIXME: SJ: we need to do do some actions even if the object is frozen, eg. updating parameters, saving parameters, etc.
+		if (hasBeenComputedOnce && frozen) {
+			return true;
+		}
 		
+		
 		try {
 
 			Log.finest("*** TXMResult.compute(): " + this.getClass().getSimpleName() + ": starting computing process...");
 
 			// FIXME: see if this skipComputing tests is still useful? is it possible to directly return instead?
-			// en fait voir ChartResult.compute() if(super.compute(monitor, true, false)), je pense que le prob vient du fait que si on retourne false dans TXMResult.compute() alors renderChart() ne sera pas appelé 
+			// en fait voir ChartResult.compute() if(super.compute(monitor, true, false)), je pense que le prob vient du fait que si on retourne false dans TXMResult.compute() alors renderChart() ne sera pas appelé
+			// il faudrait retourner un état: skipped, computed, error, etc. 
 			boolean skipComputing = false;
 
 			this.monitor = monitor;
 
-			// TODO THIS IS FUCKING LAZY LINE CODES OH YEAH YOU MAD BRO
-			// TODO where do we put this parent compute ? :o
-			//		if (parent != null && !parent.getHasBeenComputedOnce()) { // parent must be computed at least one time
-			// SJ: other way, test the object itself
-			// FIXME: this code should be moved back in the !skipComputing section ?
+			// Compute the parent if needed
 			if (this.parent != null && !(this.parent instanceof Project) && !(this.parent instanceof Workspace)) {
 
 				Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": starting parent (" + this.parent.getClass().getSimpleName() + ") computing process...");
@@ -1940,31 +1949,18 @@
 
 			if(!skipComputing)	{
 
-				// FIXME: Debug
+				// Debug
 				Log.finest("+++ TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing result of type " + this.getClass() + "...");
 
-				// TODO THIS IS FUCKING LAZY LINE CODES OH YEAH YOU MAD BRO
-				// TODO where do we put this parent compute ? :o
-				//		if (parent != null && !parent.getHasBeenComputedOnce()) { // parent must be computed at least one time
-				// SJ: other way, test the object itself
-				//				if (this.parent != null && !(this.parent instanceof Project)) {
-				//					if (!this.parent.compute(monitor, true)) {
-				//						Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to compute parent result.");
-				//
-				//						//return false;
-				//					}
-				//				}
-
-
 				// Computing requirements test
 				if (!this.canCompute()) {
-					Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": can not compute, missing or wrong parameters or error with parent computing, computing aborted.");
+					Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": can not compute, missing or wrong parameters or error with parent computing, computing aborted.");
 					return false;
 				}
 
 				// Computing
 				if (!this._compute()) {
-					Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing failed.");
+					Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing failed.");
 					return false;
 				}
 			}
@@ -1978,9 +1974,6 @@
 
 			if(!skipComputing)	{
 
-				// store last used parameters
-				//				this.updateLastParameters();
-
 				if (!this.autoSaveParametersFromAnnotations()) {
 					Log.severe("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to save parameters from annotations for " + this.getName() + ".");
 				}
@@ -2009,22 +2002,12 @@
 					Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": cascade computing of " + this.children.size() + " child(ren).");
 
 					for (int i = 0; i < this.children.size(); i++) {
-						// FIXME: may be better to add a member needFullRecomputing in TXMResult?
-						//					this.getChild(i).setDirty(); // force recomputing even if some parameters of the result itself have not changed
-
-						// FIXME: SJ: need to try again to stop to use this parameter
-						//this.children.get(i).setNeedsFullRecomputing(true); // force recomputing even if some parameters of the result itself have not changed
-
-						// recompute only children that has been opened once
-						//if (child.hasBeenComputedOnce()) {
 						this.children.get(i).compute(monitor, deepComputing);
-						//}
 					}
 
 					// FIXME: SJ: this code generates concurrent modification exceptions when deep computing
-					// here for tests purpose
+					// here for tests purpose, the code above does not generates exceptions
 					//				for (TXMResult child : this.getChildren()) {
-					//					child.setNeedsFullRecomputing(true); // force recomputing even if some parameters of the result itself have not changed
 					//					// recompute only children that has been opened once
 					//					child.compute(monitor, deepComputing);
 					//				}
@@ -2035,7 +2018,7 @@
 		catch (Exception e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
-			Log.severe("TXMResult.compute(): Exception occurs during computing: "+e);
+			Log.severe(TXMCoreMessages.bind("TXMResult.compute(): Exception occurs during computing: {0}.", e));
 			return false;
 		}
 
Index: tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1398)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1399)
@@ -886,6 +886,9 @@
 		queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus());
 		queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
 		queryWidget.addKeyListener(new ComputeKeyListener(this));
+		// FIXME: to compute when changing the query from history combo box
+		// FIXME: commented because it doesn't work, the computing is launched as soon as we clic on the arrow of the combo box
+		//queryWidget.getQueryWidget().addSelectionListener(new ComputeSelectionListener(this));
 
 		// hide the parameters panel
 		getTopToolbar().setVisible(TXMEditor.COMPUTING_PARAMETERS_GROUP_ID, false); // the settings are not necessary to compute the concordance
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1398)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1399)
@@ -65,6 +65,7 @@
 import org.txm.rcp.TXMWindows;
 import org.txm.rcp.handlers.BaseAbstractHandler;
 import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.AssistedChoiceQueryWidget;
 import org.txm.rcp.swt.widget.AssistedQueryWidget;
@@ -653,9 +654,11 @@
 					monitor.beginTask(TXMUIMessages.computing_3, 100);
 
 					notifyExtensions("notifyStartOfCompute"); //$NON-NLS-1$
-					if (!TXMEditor.this.getResult().compute(monitor)) {
-						Log.severe("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": computing failed.");
-					}
+					//if (!update || RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR)) {
+						if (!TXMEditor.this.getResult().compute(monitor)) {
+							Log.severe("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": computing failed.");
+						}
+					//}
 					notifyExtensions("notifyEndOfCompute"); //$NON-NLS-1$
 
 					monitor.worked(50);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java	(revision 1398)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java	(revision 1399)
@@ -2,7 +2,6 @@
 
 import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
-import org.txm.core.preferences.TXMPreferences;
 import org.txm.rcp.editors.TXMEditor;
 import org.txm.rcp.preferences.RCPPreferences;
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java	(revision 1398)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java	(revision 1399)
@@ -4,6 +4,7 @@
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Spinner;
 import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.TXMEditor;
@@ -26,9 +27,11 @@
 
 	@Override
 	public void widgetSelected(SelectionEvent e) {
+		// tests for QueryWidget computing from history
+//		System.err.println("ComputeSelectionListener.widgetSelected() " + ((Combo)e.getSource()).getText());
 		// this method is called on a Spinner even when a key is pressed, that's not what we want, so this test breaks the behavior
 		if(RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR) && (!(e.getSource() instanceof Spinner) || e.stateMask != 0))	{
-			this.editor.compute(true);	
+			this.editor.compute(true);
 		}
 	}
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java	(revision 1398)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java	(revision 1399)
@@ -8,6 +8,7 @@
 import org.eclipse.swt.events.KeyListener;
 import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.TXMEditor;
+import org.txm.rcp.preferences.RCPPreferences;
 
 /**
  * Key listener that calls TXMEditor.compute() when the Enter key is pressed.
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedQueryWidget.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedQueryWidget.java	(revision 1398)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedQueryWidget.java	(revision 1399)
@@ -170,4 +170,11 @@
 	public Query getQuery() {
 		return this.querywidget.getQuery();
 	}
+
+	/**
+	 * @return the querywidget
+	 */
+	public QueryWidget getQueryWidget() {
+		return querywidget;
+	}
 }
\ No newline at end of file
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/PersistenceEnabled.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/PersistenceEnabled.java	(revision 0)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/PersistenceEnabled.java	(revision 1399)
@@ -0,0 +1,27 @@
+package org.txm.rcp.testers;
+
+import org.eclipse.core.expressions.PropertyTester;
+import org.txm.core.preferences.TBXPreferences;
+
+/**
+ * Checks if the results persistence is enabled.
+ * 
+ * @author sjacquot
+ *
+ */
+public class PersistenceEnabled extends PropertyTester {
+
+	public static final String PROPERTY_NAMESPACE = "org.txm.rcp.testers"; //$NON-NLS-1$
+	
+	public static final String PROPERTY_STATE_ENGINE_READY = "PersistenceEnabled"; //$NON-NLS-1$
+
+
+	@Override
+	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+
+		boolean enabled = TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED);
+		System.err.println("IS results persistence enabled: " + enabled);
+		return enabled;
+	}
+
+}

Property changes on: tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/PersistenceEnabled.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java	(revision 1398)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java	(revision 1399)
@@ -30,6 +30,7 @@
 import org.eclipse.jface.preference.BooleanFieldEditor;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.rcp.messages.TXMUIMessages;
+
 /**
  * User preferences page.
  * 
Index: tmp/org.txm.rcp/plugin.xml
===================================================================
--- tmp/org.txm.rcp/plugin.xml	(revision 1398)
+++ tmp/org.txm.rcp/plugin.xml	(revision 1399)
@@ -2002,6 +2002,10 @@
                            property="org.txm.rcp.testers.persistable"
                            value="true">
                      </test>
+                     <test
+                           property="org.txm.rcp.testers.PersistenceEnabled"
+                           value="true">
+                     </test>
                   </and>
                </visibleWhen>
             </command>
@@ -2927,6 +2931,13 @@
             properties="xtzCorpus"
             type="java.lang.Object">
       </propertyTester>
+      <propertyTester
+            class="org.txm.rcp.testers.PersistenceEnabled"
+            id="org.txm.rcp.testers.PersistenceEnabled"
+            namespace="org.txm.rcp.testers"
+            properties="PersistenceEnabled"
+            type="java.lang.Object">
+      </propertyTester>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">
Index: tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java
===================================================================
--- tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java	(revision 1398)
+++ tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java	(revision 1399)
@@ -112,7 +112,12 @@
 	protected boolean _compute() throws Exception {
 
 		if(this.hasParameterChanged(InternalViewPreferences.STRUCTURAL_UNIT))	{
-			this.pCurrentPage = 0;
+			
+			// reset the current page (only if the result has been computed at least once otherwise it breaks the deserialization)
+			if(this.hasBeenComputedOnce)	{
+				this.pCurrentPage = 0;
+			}
+			
 			//find struct start-end
 			CQLQuery query = new CQLQuery("<" + pStructuralUnit.getName() + "> [] expand to " + pStructuralUnit); //$NON-NLS-1$ //$NON-NLS-2$
 			//System.out.println(query);
@@ -354,7 +359,7 @@
 			for (Property p : pWordProperties) {
 				writer.println(StringUtils.join(page.get(p), colseparator));
 			}
-			writer.println("\n\n");
+			writer.println("\n\n"); //$NON-NLS-1$
 		}
 		writer.close();
 		return false;
@@ -395,7 +400,7 @@
 		this.pCurrentPage = currentPage;
 
 		if(this.pCurrentPage < 0 || this.pCurrentPage > (this.nmatches - 1))	 {
-			System.err.println("InternalView.canCompute(): current page (" + this.pCurrentPage + ") is outside matches range (" + this.nmatches + ").");
+			System.err.println("InternalView.setCurrentPage(): current page (" + this.pCurrentPage + ") is outside matches range (" + this.nmatches + ").");
 			this.pCurrentPage = 0;
 		}
 	}
