code: def make_user_list(self, emails, usernames):
          
          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
docs: 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