why is my CountRecur method not working, ive tried to comb through it but no dice. : why is my CountRecur method not working, ive tried to comb through it but no dice. I know its not all that well optimized, but ive tried everything and i thought i might give this a shot. 

//* assume that StrArr1 is already in alphabetical order, and that all the strings in it are words that may occur more than once, they're also all in low caps. the remove recur works fine, i tested it//*

    public void CountRecur() {
		ArrayList <String> StrArr2 = new ArrayList <String> ();
		StrArr2 = StrArr1;
		this.RemoveRecur(StrArr2);
		int count = 0;
		int j = 0;
		for (int i = 0; i <= StrArr2.size(); i++) {
			if (count != 0) {
				IntArr.add(count);
			}
			count = 0;
			if (i < StrArr2.size()) {
			while (j < StrArr1.size() && StrArr2.get(i).equals(StrArr1.get(j))) {
				count++;
				j++;
				}
			}
		}
	}	

    public void RemoveRecur(ArrayList <String> StrArr3) {
		int i = 1;
		while (i < StrArr3.size()) {
			if (StrArr3.get(i).equals(StrArr3.get(i - 1))) {
				StrArr3.remove(i - 1);
				i = 0;
			}
			i++;
		}
	}

   