code: public List<UserDto> selectByOrderedLogins(DbSession session, Collection<String> logins) {
      List<UserDto> unordered = selectByLogins(session, logins);
      return logins.stream()
        .map(new LoginToUser(unordered))
        .filter(Objects::nonNull)
        .collect(Collectors.toList());
    }
docs: Gets a list users by their logins. The result does NOT contain {@code null} values for users not found, so
  the size of result may be less than the number of keys.
  A single user is returned if input keys contain multiple occurrences of a key.
  <p>Contrary to {@link #selectByLogins(DbSession, Collection)}, results are in the same order as input keys.</p>