class DebianVersion implements Comparable<DebianVersion> {

  @Override
  public int compareTo(final DebianVersion o) {
    if (this.epoch < o.epoch) {
      return -1;
    }
    else if (this.epoch > o.epoch) {
      return 1;
    }
    else {
      int uv = compareDebianVersion(this.upstreamVersion, o.upstreamVersion);
      if (uv != 0) {
        return uv;
      }

      return compareDebianVersion(this.debianRevision, o.debianRevision);
    }
  }

  public  DebianVersion(final String version);

}