Index: TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Line.java
===================================================================
--- TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Line.java	(revision 3600)
+++ TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Line.java	(revision 3601)
@@ -304,7 +304,7 @@
 		int start = this.getLeftContextSize() - max;
 		for (int i = start; i < this.getLeftContextSize(); i++) {
 			List<String> word = new ArrayList<>();
-			for (Property property : concordance.getLeftViewProperties()) {
+			for (Property property : values.keySet()) {
 				List<String> ivalues = values.get(property);
 				if (ivalues == null) {
 					System.out.println("ERROR: null ivalues in " + values + " for property " + property);
@@ -357,7 +357,7 @@
 		// System.out.println("Build STR of currentpos="+currentPos+" length="+s);
 		for (int i = 0; i < s; i++) {
 			List<String> word = new ArrayList<>();
-			for (Property property : concordance.getKeywordViewProperties())
+			for (Property property : values.keySet())
 				word.add(values.get(property).get(i));
 			
 			if (currentPos == targetpos) { // highlight the @ target
@@ -413,7 +413,7 @@
 		// System.out.println("Line "+keywordToString()+" right context, currentpos="+currentPos+" keywordpos="+keywordpos+" keywordlength="+s);
 		for (int i = 0; i < max; i++) {
 			List<String> word = new ArrayList<>();
-			for (Property property : concordance.getRightViewProperties())
+			for (Property property : values.keySet())
 				word.add(values.get(property).get(i));
 			words.add(StringUtils.join(word, propertySeparator));
 			
@@ -445,7 +445,7 @@
 		
 		for (int i = 0; i < max; i++) {
 			List<String> word = new ArrayList<>();
-			for (Property property : concordance.getRightViewProperties()) {
+			for (Property property : values.keySet()) {
 				// if(propertiesToProcess.contains(property.getName()))
 				// word.add(TxmRenderer.jseshrenderer.render(values.get(property).get(i)));
 				// else
@@ -472,7 +472,7 @@
 		for (int i = 0; i < values.get(
 				concordance.getKeywordViewProperties().get(0)).size(); i++) {
 			List<String> word = new ArrayList<>();
-			for (Property property : concordance.getKeywordViewProperties()) {
+			for (Property property : values.keySet()) {
 				// if(propertiesToProcess.contains(property.getName()))
 				// word.add(TxmRenderer.jseshrenderer.render(values.get(property).get(i)));
 				// else
@@ -498,7 +498,7 @@
 		int start = this.getLeftContextSize() - max;
 		for (int i = start; i < this.getLeftContextSize(); i++) {
 			List<String> word = new ArrayList<>();
-			for (Property property : concordance.getLeftViewProperties()) {
+			for (Property property : values.keySet()) {
 				// if(propertiesToProcess.contains(property.getName()))
 				// word.add(TxmRenderer.jseshrenderer.render(values.get(property).get(i)));
 				// else
@@ -598,6 +598,7 @@
 	 * @throws CqiClientException the cqi client exception
 	 */
 	public List<String> matchGetId(CQPCorpus corpus) throws CqiClientException {
+		
 		return org.txm.searchengine.cqp.corpus.query.Match.getValuesForProperty(corpus.getProperty("id"), match); //$NON-NLS-1$
 	}
 	
@@ -609,8 +610,8 @@
 	 * @return the list
 	 * @throws CqiClientException the cqi client exception
 	 */
-	public List<String> matchGetId(CQPCorpus corpus, int[] positions)
-			throws CqiClientException {
+	public List<String> matchGetId(CQPCorpus corpus, int[] positions) throws CqiClientException {
+		
 		return org.txm.searchengine.cqp.corpus.query.Match.getValuesForProperty(corpus.getProperty("id"), positions); //$NON-NLS-1$
 	}
 	
@@ -623,8 +624,8 @@
 	 * @return the list
 	 * @throws CqiClientException the cqi client exception
 	 */
-	public List<String> matchGetPropertie(CQPCorpus corpus, String property,
-			int[] positions) throws CqiClientException {
+	public List<String> matchGetPropertie(CQPCorpus corpus, String property, int[] positions) throws CqiClientException {
+		
 		return org.txm.searchengine.cqp.corpus.query.Match.getValuesForProperty(corpus.getProperty(property), positions);
 	}
 	
@@ -637,8 +638,8 @@
 	 * @return the list
 	 * @throws CqiClientException the cqi client exception
 	 */
-	public List<String> matchGetProperties(CQPCorpus corpus, Property property,
-			int[] positions) throws CqiClientException {
+	public List<String> matchGetProperties(CQPCorpus corpus, Property property, int[] positions) throws CqiClientException {
+		
 		return org.txm.searchengine.cqp.corpus.query.Match.getValuesForProperty(property, positions);
 	}
 	
Index: TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java
===================================================================
--- TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 3600)
+++ TXM/trunk/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 3601)
@@ -214,12 +214,10 @@
 	public boolean loadParameters() {
 		
 		try {
-			
 			this.pQuery = IQuery.fromPrefString(this.getStringParameterValue(ConcordancePreferences.QUERY));
 			
 			this.setCQLSeparator(this.getCorpus().getCQLLimitQuery());
 			
-			
 			// this.pTopIndex = this.getIntParameterValue(ConcordancePreferences.TOP_INDEX);
 			// this.pNLinesPerPage = this.getIntParameterValue(ConcordancePreferences.N_LINE_PER_PAGE);
 			//
@@ -774,9 +772,9 @@
 				
 				// System.out.println("RIGHT ctx lengths: "+lengthOfRightCtx);
 				// get all view property values of all lines
-				Map<Property, List<List<String>>> keywordsViewPropValues = new HashMap<>();
-				Map<Property, List<List<String>>> leftCtxViewPropValues = new HashMap<>();
-				Map<Property, List<List<String>>> rightCtxViewPropValues = new HashMap<>();
+				Map<Property, List<List<String>>> keywordsViewPropValues = new LinkedHashMap<>();
+				Map<Property, List<List<String>>> leftCtxViewPropValues = new LinkedHashMap<>();
+				Map<Property, List<List<String>>> rightCtxViewPropValues = new LinkedHashMap<>();
 				for (Property property : pViewLeftProperties) {
 					leftCtxViewPropValues.put(property, cqiClient.getData(property, beginingOfLeftCtxPositions,
 							lengthOfLeftCtx));
@@ -789,20 +787,20 @@
 				}
 				
 				// get all analysis property values of all lines
-				HashMap<Property, List<List<String>>> leftCtxAnaPropValues = new HashMap<>();
+				HashMap<Property, List<List<String>>> leftCtxAnaPropValues = new LinkedHashMap<>();
 				for (Property p : pAnalysisLeftProperties) {
 					leftCtxAnaPropValues.put(p, cqiClient.getData(p, beginingOfLeftCtxPositions, lengthOfLeftCtx));
 				}
-				HashMap<Property, List<List<String>>> keywordsAnaPropValues = new HashMap<>();
+				HashMap<Property, List<List<String>>> keywordsAnaPropValues = new LinkedHashMap<>();
 				for (Property p : pAnalysisKeywordProperties) {
 					keywordsAnaPropValues.put(p, cqiClient.getData(p, beginingOfKeywordsPositions, lengthOfKeywords));
 				}
-				HashMap<Property, List<List<String>>> rightCtxAnaPropValues = new HashMap<>();
+				HashMap<Property, List<List<String>>> rightCtxAnaPropValues = new LinkedHashMap<>();
 				for (Property p : pAnalysisRightProperties) {
 					rightCtxAnaPropValues.put(p, cqiClient.getData(p, beginingOfRightCtxPositions, lengthOfRightCtx));
 				}
 				// get all view reference values of all lines
-				Map<Property, List<List<String>>> refValues = new HashMap<>();
+				Map<Property, List<List<String>>> refValues = new LinkedHashMap<>();
 				for (Property property : pViewRefPattern) {
 					refValues.put(property, cqiClient.getData(property,
 							beginingOfKeywordsPositions,
@@ -810,7 +808,7 @@
 				}
 				
 				// get all sort reference values of all lines
-				Map<Property, List<List<String>>> refSortValues = new HashMap<>();
+				Map<Property, List<List<String>>> refSortValues = new LinkedHashMap<>();
 				for (Property property : pAnalysisRefPattern) {
 					refSortValues.put(property, cqiClient.getData(property, beginingOfKeywordsPositions,
 							Collections.nCopies(beginingOfKeywordsPositions.size(), 1)));
@@ -843,22 +841,22 @@
 				for (int k = 0; k < j - i; k++) {
 					// worked(1);
 					// get the kth line's analysis property values
-					HashMap<Property, List<String>> lineLeftCtxAnaPropValue = new HashMap<>();
+					HashMap<Property, List<String>> lineLeftCtxAnaPropValue = new LinkedHashMap<>();
 					for (Property p : pAnalysisLeftProperties) {
 						lineLeftCtxAnaPropValue.put(p, leftCtxAnaPropValues.get(p).get(k));
 					}
-					HashMap<Property, List<String>> lineKeywordsAnaPropValue = new HashMap<>();
+					HashMap<Property, List<String>> lineKeywordsAnaPropValue = new LinkedHashMap<>();
 					for (Property p : pAnalysisKeywordProperties) {
 						lineKeywordsAnaPropValue.put(p, keywordsAnaPropValues.get(p).get(k));
 					}
-					HashMap<Property, List<String>> lineRightCtxAnaPropValue = new HashMap<>();
+					HashMap<Property, List<String>> lineRightCtxAnaPropValue = new LinkedHashMap<>();
 					for (Property p : pAnalysisRightProperties) {
 						lineRightCtxAnaPropValue.put(p, rightCtxAnaPropValues.get(p).get(k));
 					}
 					// get the kth line's view property values
-					Map<Property, List<String>> lineLeftCtxViewPropValue = new HashMap<>();
-					Map<Property, List<String>> lineKeywordsViewPropValue = new HashMap<>();
-					Map<Property, List<String>> lineRightCtxViewPropValue = new HashMap<>();
+					Map<Property, List<String>> lineLeftCtxViewPropValue = new LinkedHashMap<>();
+					Map<Property, List<String>> lineKeywordsViewPropValue = new LinkedHashMap<>();
+					Map<Property, List<String>> lineRightCtxViewPropValue = new LinkedHashMap<>();
 					for (Property property : pViewLeftProperties) {
 						lineLeftCtxViewPropValue.put(property, leftCtxViewPropValues.get(property).get(k));
 					}
