// Path: src/main/java/se/bjurr/gitchangelog/internal/util/Preconditions.java
// public static <T> T checkNotNull(final T it, final String string) {
//   if (it == null) {
//     throw new IllegalStateException(string);
//   }
//   return it;
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/internal/util/Preconditions.java
// public static void checkState(final boolean b, final String string) {
//   if (!b) {
//     throw new IllegalStateException(string);
//   }
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/internal/settings/SettingsIssueType.java
// public enum SettingsIssueType {
//   NOISSUE,
//   CUSTOM,
//   JIRA,
//   GITHUB,
//   GITLAB,
//   REDMINE
// }


import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.CUSTOM;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITHUB;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITLAB;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.JIRA;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.NOISSUE;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkNotNull;
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkState;
import java.io.Serializable;
import java.util.List;
import se.bjurr.gitchangelog.internal.settings.SettingsIssueType;
package se.bjurr.gitchangelog.api.model;



public class IssueType implements Serializable {

  private static final long serialVersionUID = 8850522973130773606L;
  private final String name;
  private final List<Issue> issues;
  private final SettingsIssueType type;

  public IssueType(final List<Issue> issues, final String name) {
    this.name = checkNotNull(name, "name");
    this.issues = checkNotNull(issues, "issues");
// Path: src/main/java/se/bjurr/gitchangelog/internal/util/Preconditions.java
// public static <T> T checkNotNull(final T it, final String string) {
//   if (it == null) {
//     throw new IllegalStateException(string);
//   }
//   return it;
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/internal/util/Preconditions.java
// public static void checkState(final boolean b, final String string) {
//   if (!b) {
//     throw new IllegalStateException(string);
//   }
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/internal/settings/SettingsIssueType.java
// public enum SettingsIssueType {
//   NOISSUE,
//   CUSTOM,
//   JIRA,
//   GITHUB,
//   GITLAB,
//   REDMINE
// }


// Path: src/main/java/se/bjurr/gitchangelog/api/model/IssueType.java
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.CUSTOM;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITHUB;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.GITLAB;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.JIRA;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.NOISSUE;
import static se.bjurr.gitchangelog.internal.settings.SettingsIssueType.REDMINE;
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkNotNull;
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkState;
import java.io.Serializable;
import java.util.List;
import se.bjurr.gitchangelog.internal.settings.SettingsIssueType;

package se.bjurr.gitchangelog.api.model;



public class IssueType implements Serializable {

  private static final long serialVersionUID = 8850522973130773606L;
  private final String name;
  private final List<Issue> issues;
  private final SettingsIssueType type;

  public IssueType(final List<Issue> issues, final String name) {
    this.name = checkNotNull(name, "name");
    this.issues = checkNotNull(issues, "issues");
    checkState(!issues.isEmpty(), "Issues empty!");