docs: @Override
      protected List<ScenarioSpec> getChildren() {
          TestPackageRoot rootPackageAnnotation = testClass.getAnnotation(TestPackageRoot.class);
          JsonTestCases jsonTestCasesAnnotation = testClass.getAnnotation(JsonTestCases.class);
          validateSuiteAnnotationPresent(rootPackageAnnotation, jsonTestCasesAnnotation);
  
          if (rootPackageAnnotation != null) {
              /*
               * Different scenarios with same name -or- Same scenarios with same name more than once is prevented
               */
              smartUtils.checkDuplicateScenarios(rootPackageAnnotation.value());
  
              return smartUtils.getScenarioSpecListByPackage(rootPackageAnnotation.value());
  
          } else {
              List<JsonTestCase> jsonTestCases = Arrays.asList(testClass.getAnnotationsByType(JsonTestCase.class));
              List<String> allEndPointFiles = jsonTestCases.stream()
                      .map(thisTestCase -> thisTestCase.value())
                      .collect(Collectors.toList());
  
              return allEndPointFiles.stream()
                      .map(testResource -> {
                          try {
                              return smartUtils.jsonFileToJava(testResource, ScenarioSpec.class);
                          } catch (IOException e) {
                              throw new RuntimeException("Exception while deserializing to Spec. Details: " + e);
                          }
                      })
                      .collect(Collectors.toList());
          }
      }