def _GetTryJobDataPoints(analysis):
  """Gets which data points should be used to determine the next revision.

  Args:
    analysis (MasterFlakeAnalysis): The analysis entity to determine what data
        points to run on.

  Returns:
    A list of data points used to analyze and determine what try job to trigger
        next.
  """
  all_data_points = analysis.data_points

  # Include the suspected build itself first, which already has a result.
  data_points = [analysis.GetDataPointOfSuspectedBuild()]

  for i in range(0, len(all_data_points)):
    if all_data_points[i].try_job_url:
      data_points.append(all_data_points[i])

  return sorted(data_points, key=lambda k: k.commit_position, reverse=True)