code: 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;
    }
docs: 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