class FindNthMostRepeatedElement {

  public int find(int[] numbers, int position) {
    validateInput(numbers, position);
    Integer result = null;
    Map<Integer, Integer> counter = new HashMap<Integer, Integer>();
    for (int i : numbers) {
      if (counter.get(i) == null) {
        counter.put(i, 1);
      } else {
        counter.put(i, counter.get(i) + 1);
      }
    }
    for (Integer candidate : counter.keySet()) {
      if (counter.get(candidate) == position) {
        result = candidate;
        break;
      }
    }
    validateResult(result);
    return result;
  }

}