public List<String> get(String input) {
    List<String> result = null;
    if (input == null) {
      throw new IllegalArgumentException("You can't pass a null String as input.");
    } else if (input.isEmpty()) {
      result = new LinkedList<String>();
    } else {
      result = getAnagramsInner("", input);
    }
    return result;
  }
Combination of recursion and one iterative approach to resolve this problem. The complexity of
this algorithm is O(N!) where N is the size of the input. In space terms the complexity order
is related to the number of permutations equals to O(N!) where N is the number of chars in the
input string.
src/main/java/com/github/pedrovgs/problem25/Anagrams.java