// 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/api/model/interfaces/IAuthors.java
// public interface IAuthors {
//   List<Author> getAuthors();
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/api/model/interfaces/ICommits.java
// public interface ICommits {
//   List<Commit> getCommits();
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/api/model/interfaces/IIssues.java
// public interface IIssues {
//   List<Issue> getIssues();
// }


import static se.bjurr.gitchangelog.internal.util.Preconditions.checkNotNull;
import java.io.Serializable;
import java.util.List;
import se.bjurr.gitchangelog.api.model.interfaces.IAuthors;
import se.bjurr.gitchangelog.api.model.interfaces.ICommits;
import se.bjurr.gitchangelog.api.model.interfaces.IIssues;
package se.bjurr.gitchangelog.api.model;



public class Changelog implements ICommits, IAuthors, IIssues, Serializable {
  private static final long serialVersionUID = 2193789018496738737L;
  private final List<Commit> commits;
  private final List<Tag> tags;
  private final List<Author> authors;
  private final List<Issue> issues;
  private final List<IssueType> issueTypes;
  private final String ownerName;
  private final String repoName;

  public Changelog(
      final List<Commit> commits,
      final List<Tag> tags,
      final List<Author> authors,
      final List<Issue> issues,
      final List<IssueType> issueTypes,
      final String ownerName,
      final String repoName) {
// 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/api/model/interfaces/IAuthors.java
// public interface IAuthors {
//   List<Author> getAuthors();
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/api/model/interfaces/ICommits.java
// public interface ICommits {
//   List<Commit> getCommits();
// }
// 
// Path: src/main/java/se/bjurr/gitchangelog/api/model/interfaces/IIssues.java
// public interface IIssues {
//   List<Issue> getIssues();
// }


// Path: src/main/java/se/bjurr/gitchangelog/api/model/Changelog.java
import static se.bjurr.gitchangelog.internal.util.Preconditions.checkNotNull;
import java.io.Serializable;
import java.util.List;
import se.bjurr.gitchangelog.api.model.interfaces.IAuthors;
import se.bjurr.gitchangelog.api.model.interfaces.ICommits;
import se.bjurr.gitchangelog.api.model.interfaces.IIssues;

package se.bjurr.gitchangelog.api.model;



public class Changelog implements ICommits, IAuthors, IIssues, Serializable {
  private static final long serialVersionUID = 2193789018496738737L;
  private final List<Commit> commits;
  private final List<Tag> tags;
  private final List<Author> authors;
  private final List<Issue> issues;
  private final List<IssueType> issueTypes;
  private final String ownerName;
  private final String repoName;

  public Changelog(
      final List<Commit> commits,
      final List<Tag> tags,
      final List<Author> authors,
      final List<Issue> issues,
      final List<IssueType> issueTypes,
      final String ownerName,
      final String repoName) {
    this.commits = checkNotNull(commits, "commits");