@Override
   public int compareTo(Time o) {
      if (o == null) {
         return 1;
      }
      if (o.isRelative && !this.isRelative) {
         return 1;
      } else if (!o.isRelative && this.isRelative) {
         return -1;
      }
      return this.value <= o.value ? (this.value == o.value ? 0 : -1) : 1;
   }