Word ladder finding class
Fist of all, the code doesn't work. here's my test method. I get an empty response.

public static void main(String... args) {

    HashSet&lt;String&gt; dictionary = new HashSet&lt;&gt;();
    dictionary.add("abcd");
    dictionary.add("abce");
    dictionary.add("abcf");
    dictionary.add("abcg");
    dictionary.add("abch");
    dictionary.add("abxd");
    dictionary.add("abxh");

    WordLadder wd = new WordLadder(dictionary);
    System.out.println(wd.findLadder("abcd abch"));

}


However, assuming you fix this, here is my review


API definition: the api you chose is counter-intuitive. why not accept two string words?
code to the interface: if you meant words to be a LIFO stack, use the Stack interface of push() and pop().  there are two reason for that: one is that it makes the usage of words clearer to another human. more importantly - how do you that LinkedList add() is doing the same as push()? 
the method violates the single responsibility principle. it is parsing the input, it searches for a word in the dictionary and all the other stuff. what if you wanted to have another data structure for the dictionary? or put it in a DB?