class AbstractCheckDescriptor {

  public boolean isRequired(UpgradeType upgradeType) {
    UpgradeType[] upgradeTypes = getClass().getAnnotation(UpgradeCheck.class).required();
    for (UpgradeType requiredType : upgradeTypes) {
      if (upgradeType == requiredType) {
        return true;
      }
    }

    return false;
  }

  protected  AbstractCheckDescriptor(CheckDescription description);

}