def make_user_list(self, emails, usernames):
        """
        Given a list of emails and usernames fetch DukeDS user info.
        Parameters that are None will be skipped.
        :param emails: [str]: list of emails (can be null)
        :param usernames:  [str]: list of usernames(netid)
        :return: [RemoteUser]: details about any users referenced the two parameters
        """
        to_users = []
        remaining_emails = [] if not emails else list(emails)
        remaining_usernames = [] if not usernames else list(usernames)
        for user in self.remote_store.fetch_users():
            if user.email in remaining_emails:
                to_users.append(user)
                remaining_emails.remove(user.email)
            elif user.username in remaining_usernames:
                to_users.append(user)
                remaining_usernames.remove(user.username)
        if remaining_emails or remaining_usernames:
            unable_to_find_users = ','.join(remaining_emails + remaining_usernames)
            msg = "Unable to find users for the following email/usernames: {}".format(unable_to_find_users)
            raise ValueError(msg)
        return to_users