code: public static <T> Matcher<Iterable<? extends T>> containsInOrder(final Iterable<T> items) {
          final Collection<Matcher<? super T>> matchers = new ArrayList<>();
          for (final T item : items) {
              matchers.add(equalTo(item));
          }
  
          return new IsIterableContainingInOrder<T>(matchers);
      }
docs: Creates a matcher for {@linkplain Iterable}s that matches when a single pass over the examined
  {@linkplain Iterable} yields a series of items, each logically equal to the corresponding item in the specified
  items. For a positive match, the examined iterable must be of the same length as the number of specified items.
  For example:<br />
  <pre>
  //Arrange
  Iterable<String> actual = Arrays.asList("foo", "bar");
  Iterable<String> expected = Arrays.asList("foo", "bar");
  
  //Assert
  assertThat(actual, containsInOrder(expected));
  </pre>
  
  @param items the items that must equal the items provided by an examined {@linkplain Iterable}