opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/FeatureSpaceCoverageProcessor.java [153:181]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
			String valArr1Str = StringUtils.substringBetween(v1, "{", "}");
			String valArr2Str = StringUtils.substringBetween(v2, "{", "}");
			if (valArr1Str==null || valArr2Str==null) { // we assume single value, not an array of values
				if (v1.equals(v2)){
					attr_value.put(attr, v1);
				}
			}
			else {
				valArr1Str = valArr1Str.replaceAll(", ", ",");
				valArr2Str = valArr2Str.replaceAll(", ", ",");
				String[] valArr1 = valArr1Str.split(",");
				String[] valArr2 = valArr2Str.split(","); 
				List<String> valList1 = new ArrayList<>(Arrays.asList(valArr1));
				List<String> valList2 = new ArrayList<>(Arrays.asList(valArr2));
				valList1.retainAll(valList2);
				/* verification of coverage
				valList1.retainAll(valList2);
				
				List<String> vl1 = new ArrayList<String>(Arrays.asList(valArr1));
				valList1.retainAll(vl1); */
				
				if (!valList1.isEmpty()){
					v1 = "{"+valList1.toString().replace("["," ").replace("]", " ").trim()+"}";
					attr_value.put(attr, v1);
				}

			}		    		
		}
			return attr_value;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/FeatureSpaceCoverageProcessor.java [282:304]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
				String valArr1Str = StringUtils.substringBetween(v1, "{", "}");
				String valArr2Str = StringUtils.substringBetween(v2, "{", "}");
				if (valArr1Str==null || valArr2Str==null) { // we assume single value, not an array of values
					if (v1.equals(v2)){
						attr_value.put(attr, v1);
					}
				}
				else {
					valArr1Str = valArr1Str.replaceAll(", ", ",");
					valArr2Str = valArr2Str.replaceAll(", ", ",");
					String[] valArr1 = valArr1Str.split(",");
					String[] valArr2 = valArr2Str.split(","); 
					List<String> valList1 = new ArrayList<>(Arrays.asList(valArr1));
					List<String> valList2 = new ArrayList<>(Arrays.asList(valArr2));
					valList1.retainAll(valList2);
					if (!valList1.isEmpty()){
						v1 = "{"+valList1.toString().replace("["," ").replace("]", " ").trim()+"}";
						attr_value.put(attr, v1);
					}

				}		    		
			}
				return attr_value;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



