// Path: service/github/src/main/java/com/jakewharton/u2020/data/api/model/Repository.java
// public final class Repository {
//   @NonNull public final String name;
//   @NonNull public final User owner;
//   @Nullable public final String description;
// 
//   public final long watchers;
//   public final long forks;
// 
//   public final String html_url;
// 
//   public final Instant updated_at;
// 
//   private Repository(Builder builder) {
//     this.name = requireNonNull(builder.name, "name == null");
//     this.owner = requireNonNull(builder.owner, "owner == null");
//     this.description = builder.description;
//     this.watchers = builder.stars;
//     this.forks = builder.forks;
//     this.html_url = requireNonNull(builder.htmlUrl, "html_url == null");
//     this.updated_at = requireNonNull(builder.updatedAt, "updated_at == null");
//   }
// 
//   @Override public String toString() {
//     return "Repository{" +
//         "name='" + name + '\'' +
//         ", owner=" + owner +
//         ", description='" + description + '\'' +
//         ", watchers=" + watchers +
//         ", forks=" + forks +
//         ", html_url='" + html_url + '\'' +
//         ", updated_at=" + updated_at +
//         '}';
//   }
// 
//   public static final class Builder {
//     private String name;
//     private User owner;
//     private String description;
//     private long stars;
//     private long forks;
//     private String htmlUrl;
//     private Instant updatedAt;
// 
//     public Builder name(String name) {
//       this.name = name;
//       return this;
//     }
// 
//     public Builder owner(User owner) {
//       this.owner = owner;
//       return this;
//     }
// 
//     public Builder description(String description) {
//       this.description = description;
//       return this;
//     }
// 
//     public Builder stars(long stars) {
//       this.stars = stars;
//       return this;
//     }
// 
//     public Builder forks(long forks) {
//       this.forks = forks;
//       return this;
//     }
// 
//     public Builder htmlUrl(String htmlUrl) {
//       this.htmlUrl = htmlUrl;
//       return this;
//     }
// 
//     public Builder updatedAt(Instant updatedAt) {
//       this.updatedAt = updatedAt;
//       return this;
//     }
// 
//     public Repository build() {
//       return new Repository(this);
//     }
//   }
// }


import android.support.annotation.NonNull;
import com.jakewharton.u2020.data.api.model.Repository;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import static com.jakewharton.u2020.data.api.Order.ASC;
import static com.jakewharton.u2020.data.api.Order.DESC;
package com.jakewharton.u2020.data.api;



final class SortUtil {
  private static final StarsComparator STARS_ASC = new StarsComparator(ASC);
  private static final StarsComparator STARS_DESC = new StarsComparator(DESC);
  private static final ForksComparator FORKS_ASC = new ForksComparator(ASC);
  private static final ForksComparator FORKS_DESC = new ForksComparator(DESC);
  private static final UpdatedComparator UPDATED_ASC = new UpdatedComparator(ASC);
  private static final UpdatedComparator UPDATED_DESC = new UpdatedComparator(DESC);

// Path: service/github/src/main/java/com/jakewharton/u2020/data/api/model/Repository.java
// public final class Repository {
//   @NonNull public final String name;
//   @NonNull public final User owner;
//   @Nullable public final String description;
// 
//   public final long watchers;
//   public final long forks;
// 
//   public final String html_url;
// 
//   public final Instant updated_at;
// 
//   private Repository(Builder builder) {
//     this.name = requireNonNull(builder.name, "name == null");
//     this.owner = requireNonNull(builder.owner, "owner == null");
//     this.description = builder.description;
//     this.watchers = builder.stars;
//     this.forks = builder.forks;
//     this.html_url = requireNonNull(builder.htmlUrl, "html_url == null");
//     this.updated_at = requireNonNull(builder.updatedAt, "updated_at == null");
//   }
// 
//   @Override public String toString() {
//     return "Repository{" +
//         "name='" + name + '\'' +
//         ", owner=" + owner +
//         ", description='" + description + '\'' +
//         ", watchers=" + watchers +
//         ", forks=" + forks +
//         ", html_url='" + html_url + '\'' +
//         ", updated_at=" + updated_at +
//         '}';
//   }
// 
//   public static final class Builder {
//     private String name;
//     private User owner;
//     private String description;
//     private long stars;
//     private long forks;
//     private String htmlUrl;
//     private Instant updatedAt;
// 
//     public Builder name(String name) {
//       this.name = name;
//       return this;
//     }
// 
//     public Builder owner(User owner) {
//       this.owner = owner;
//       return this;
//     }
// 
//     public Builder description(String description) {
//       this.description = description;
//       return this;
//     }
// 
//     public Builder stars(long stars) {
//       this.stars = stars;
//       return this;
//     }
// 
//     public Builder forks(long forks) {
//       this.forks = forks;
//       return this;
//     }
// 
//     public Builder htmlUrl(String htmlUrl) {
//       this.htmlUrl = htmlUrl;
//       return this;
//     }
// 
//     public Builder updatedAt(Instant updatedAt) {
//       this.updatedAt = updatedAt;
//       return this;
//     }
// 
//     public Repository build() {
//       return new Repository(this);
//     }
//   }
// }


// Path: service/github-mock/src/main/java/com/jakewharton/u2020/data/api/SortUtil.java
import android.support.annotation.NonNull;
import com.jakewharton.u2020.data.api.model.Repository;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import static com.jakewharton.u2020.data.api.Order.ASC;
import static com.jakewharton.u2020.data.api.Order.DESC;

package com.jakewharton.u2020.data.api;



final class SortUtil {
  private static final StarsComparator STARS_ASC = new StarsComparator(ASC);
  private static final StarsComparator STARS_DESC = new StarsComparator(DESC);
  private static final ForksComparator FORKS_ASC = new ForksComparator(ASC);
  private static final ForksComparator FORKS_DESC = new ForksComparator(DESC);
  private static final UpdatedComparator UPDATED_ASC = new UpdatedComparator(ASC);
  private static final UpdatedComparator UPDATED_DESC = new UpdatedComparator(DESC);

  static void sort(List<Repository> repositories, Sort sort, Order order) {