private Pair<Integer,Integer> findEdits(String _actual, String _typed, Pair<Integer,String> edit) {
		//Prepend string start char
		String actual = new String("#" + _actual);
		String typed = new String("#" + _typed);
		int i=0;
		while(i < Math.min(actual.length(), typed.length()) && actual.charAt(i) == typed.charAt(i)){
			i++;
		}
		if (actual.length() < typed.length()){
			//Insertion
			edit.setFirst(INS);
			edit.setSecond(actual.substring(i-1, i) + typed.substring(i,i+1));
			return new Pair<Integer,Integer>(i-1,i);
		} else if (actual.length() > typed.length()){
			//Deletion
			edit.setFirst(DEL);
			edit.setSecond(actual.substring(i-1, i) + actual.substring(i,i+1));
			return new Pair<Integer,Integer>(i,i-1);
		} else if (i+1 < actual.length() && typed.charAt(i) == actual.charAt(i+1) && typed.charAt(i+1) == actual.charAt(i) ) {
			//Transposition
			edit.setFirst(TRANS);
			edit.setSecond(actual.substring(i, i+1) + actual.substring(i+1,i+2));
			return new Pair<Integer,Integer>(i+1,i+1);
		} else {
			//Substitution
			edit.setFirst(SUB);
			edit.setSecond(actual.substring(i, i+1)+ typed.substring(i,i+1));
			return new Pair<Integer,Integer>(i,i);
		}
	}