// Path: src/main/java/com/monitorjbl/plugins/config/User.java
// @XmlRootElement
// @XmlAccessorType(XmlAccessType.FIELD)
// public class User {
//   private String slug;
//   private String name;
// 
//   public User() {
//   }
// 
//   public User(String slug, String name) {
//     this.slug = slug;
//     this.name = name;
//   }
// 
//   public String getSlug() {
//     return slug;
//   }
// 
//   public void setSlug(String slug) {
//     this.slug = slug;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public void setName(String name) {
//     this.name = name;
//   }
// 
//   @Override
//   public boolean equals(Object o) {
//     if (this == o) return true;
//     if (o == null || getClass() != o.getClass()) return false;
// 
//     User user = (User) o;
// 
//     if (name != null ? !name.equals(user.name) : user.name != null) return false;
//     if (slug != null ? !slug.equals(user.slug) : user.slug != null) return false;
// 
//     return true;
//   }
// 
//   @Override
//   public int hashCode() {
//     int result = slug != null ? slug.hashCode() : 0;
//     result = 31 * result + (name != null ? name.hashCode() : 0);
//     return result;
//   }
// }


import com.atlassian.bitbucket.user.ApplicationUser;
import com.atlassian.bitbucket.user.UserService;
import com.atlassian.bitbucket.util.PageRequestImpl;
import com.monitorjbl.plugins.config.User;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import static com.google.common.collect.Lists.newArrayList;
package com.monitorjbl.plugins;




public class UserUtils {
  private static final int RESULTS_PER_REQUEST = 25;
  private final UserService userService;

  public UserUtils(UserService userService) {
    this.userService = userService;
  }

// Path: src/main/java/com/monitorjbl/plugins/config/User.java
// @XmlRootElement
// @XmlAccessorType(XmlAccessType.FIELD)
// public class User {
//   private String slug;
//   private String name;
// 
//   public User() {
//   }
// 
//   public User(String slug, String name) {
//     this.slug = slug;
//     this.name = name;
//   }
// 
//   public String getSlug() {
//     return slug;
//   }
// 
//   public void setSlug(String slug) {
//     this.slug = slug;
//   }
// 
//   public String getName() {
//     return name;
//   }
// 
//   public void setName(String name) {
//     this.name = name;
//   }
// 
//   @Override
//   public boolean equals(Object o) {
//     if (this == o) return true;
//     if (o == null || getClass() != o.getClass()) return false;
// 
//     User user = (User) o;
// 
//     if (name != null ? !name.equals(user.name) : user.name != null) return false;
//     if (slug != null ? !slug.equals(user.slug) : user.slug != null) return false;
// 
//     return true;
//   }
// 
//   @Override
//   public int hashCode() {
//     int result = slug != null ? slug.hashCode() : 0;
//     result = 31 * result + (name != null ? name.hashCode() : 0);
//     return result;
//   }
// }


// Path: src/main/java/com/monitorjbl/plugins/UserUtils.java
import com.atlassian.bitbucket.user.ApplicationUser;
import com.atlassian.bitbucket.user.UserService;
import com.atlassian.bitbucket.util.PageRequestImpl;
import com.monitorjbl.plugins.config.User;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import static com.google.common.collect.Lists.newArrayList;

package com.monitorjbl.plugins;




public class UserUtils {
  private static final int RESULTS_PER_REQUEST = 25;
  private final UserService userService;

  public UserUtils(UserService userService) {
    this.userService = userService;
  }

  public List<User> dereferenceUsers(Iterable<String> users) {