code: public static <T> ErrorMessageFactory shouldBeAtIndex(List<T> actual, Matcher<? super T> condition, Index index, T found) {
      return new ShouldBeAtIndex(actual, condition, index, found);
    }
docs: Creates a new </code>{@link ShouldBeAtIndex}</code>.
  @param <T> guarantees that the type of the actual value and the generic type of the {@code Condition} are the same.
  @param actual the actual value in the failed assertion.
  @param condition the {@code Condition}.
  @param index the index of the expected value.
  @param found the value in {@code actual} stored under {@code index}.
  @return the created {@code ErrorMessageFactory}.