@Override
  public int hashCode()
  {
    return Objects.hash(_elements, _metadata, _total, _pageIncrement);
  }
@Test(dataProvider = "testHashCodeDataProvider")
  public void testHashCode
      (
          boolean hasSameHashCode,
          @Nonnull CollectionResult<TestRecordTemplateClass.Foo, TestRecordTemplateClass.Bar> collectionResult1,
          @Nonnull CollectionResult<TestRecordTemplateClass.Foo, TestRecordTemplateClass.Bar> collectionResult2
      )
  {
    if (hasSameHashCode)
    {
      assertEquals(collectionResult1.hashCode(), collectionResult2.hashCode());
    }
    else
    {
      assertNotEquals(collectionResult1.hashCode(), collectionResult2.hashCode());
    }
  }