public GearAssert assertGear(String id) {
    assertNotNull(id);

    for (IGear gear : gearGroup.getGears()) {
      if (id.equals(gear.getId())) {
        return new GearAssert(gear);
      }
    }
    fail("gear group " + gearGroup.getName() + " does not contain a gear with id " + id);
    return null;
  }
  public GearAssert assertGear(int number) {
    assertThat(number).isGreaterThanOrEqualTo(0);
    assertThat(number)
        .as("gear group " + gearGroup.getName() + " does not contain " + number + " gears")
        .isLessThanOrEqualTo(gearGroup.getGears().size());

    int i = 0;
    for (IGear gear : gearGroup.getGears()) {
      if (i == number) {
        return new GearAssert(gear);
      }
    }
    return null;
  }
 public GearGroupAssert hasName(String name) {
   assertEquals(name, gearGroup.getName());
   return this;
 }