private Map<String, Cell> getDupMap(Sheet config) {

		Map<String, Cell> result = new HashMap<String, Cell>();
		int size = config.getLastRowNum() + 1;
		for (int j = 1; j < size; j++) {
			Row r = config.getRow(j);
			if (r != null) {
				Cell c0 = r.getCell(0);

				if (c0 != null) {
					try {
						String c0Content = Utils.getStringRepresentation(c0);
						if (!c0Content.isEmpty()) {

							for (int k = 1; k < r.getLastCellNum(); k++) {
								Cell c = r.getCell(k);
								if (c != null) {
									try {
										String ckContent = Utils
												.getStringRepresentation(c);
										if (!ckContent.isEmpty()) {
											result.put(
													normalize4Hash(ckContent),
													c0);
										}
									} catch (Exception e) {
										log.m("Ignore non string value at ("
												+ (j + 1) + "," + (k + 1)
												+ ") in sheet "
												+ config.getSheetName() + ".");
									}
								}
							}
						} else {
							log.s("Header " + c0Content + " is not in target.");
						}
					} catch (Exception e) {
						log.m("Ignore row " + (j + 1) + " in sheet "
								+ config.getSheetName()
								+ " because of non string value.");

					}
				}

			}

		}
		return result;

	}