code: public static Deferred<IncomingDataPoint> getLastPoint(final TSDB tsdb, 
        final byte[] tsuid, final boolean resolve_names, final int max_lookups, 
        final long last_timestamp) {
      final TSUIDQuery query = new TSUIDQuery(tsdb, tsuid);
      query.last_timestamp = last_timestamp;
      return query.getLastPoint(resolve_names, max_lookups);
    }
docs: Attempts to retrieve the last data point for the given TSUID.
  This operates by checking the meta table for the {@code COUNTER_QUALIFIER}
  and if found, parses the HBase timestamp for the counter (i.e. the time when
  the counter was written) and tries to load the row in the data table for
  the hour where that timestamp would have landed. If the counter does not
  exist or the data row doesn't exist or is empty, the results will be a null
  IncomingDataPoint.
  <b>Note:</b> This will be accurate most of the time since the counter will
  be updated at the time a data point is written within a second or so.
  However if the user is writing historical data, putting data with older
  timestamps or performing an import, then the counter timestamp will be
  inaccurate.
  @param tsdb The TSDB to which we belong
  @param tsuid TSUID to fetch
  @param resolve_names Whether or not to resolve the TSUID to names and
  return them in the IncomingDataPoint
  @param max_lookups If set to a positive integer, will look "max_lookups"
  hours into the past for a valid data point starting with the current hour.
  Setting this to 0 will only use the TSUID counter timestamp.
  @param last_timestamp Optional timestamp in milliseconds when the last data
  point was written
  @return An {@link IncomingDataPoint} if data was found, null if not
  @throws NoSuchUniqueId if one of the tag lookups failed
  @deprecated Please use {@link #getLastPoint}