public int compareTo(final TP o){
  if (this == o)   return 0;
  int ret=timestamp < o.timestamp ? -1 : timestamp > o.timestamp ? 1 : 0;
  if (ret == 0) {
    ret=name.compareTo(o.name);
  }
  return ret;
}

public int compareTo ( final TP o ) { if ( this == o ) return 0 ; int ret = timestamp < o . timestamp ? - 1 : timestamp > o . timestamp ? 1 : 0 ; if ( ret == 0 ) { ret = name . compareTo ( o . name ) ; } return ret ; }
note : the order is imposed by timestamp ( ascending ) then property name ( ascending ) . this means that a scan may abort once it reads a timestamp greater than the largest timestamp of interest .
