protected static List<UnicodeCandidate> getUnicodeCandidates(String input) {
    char[] inputCharArray = input.toCharArray();
    List<UnicodeCandidate> candidates = new ArrayList<UnicodeCandidate>();
    UnicodeCandidate next;
    for (int i = 0; (next = getNextUnicodeCandidate(inputCharArray, i)) != null; i = next.getFitzpatrickEndIndex()) {
      candidates.add(next);
    }

    return candidates;
  }
Generates a list UnicodeCandidates found in input string. A
UnicodeCandidate is created for every unicode emoticon found in input
string, additionally if Fitzpatrick modifier follows the emoji, it is
included in UnicodeCandidate. Finally, it contains start and end index of
unicode emoji itself (WITHOUT Fitzpatrick modifier whether it is there or
not!).

@param input String to find all unicode emojis in
@return List of UnicodeCandidates for each unicode emote in text
src/main/java/com/vdurmont/emoji/EmojiParser.java