public static Set<String> getMissingSteps(String featurePath, String stepPath, String... otherStepPaths) {
        // This function greatly ressembles the method-implementing one, except that
        // instead of actually implementing the methods, we simply collect the steps
        // that they would implement
        String featureAsString = FileToolBox.readFile(featurePath);

        Set<String> stepsFilePaths = new HashSet<String>();
        stepsFilePaths.add(stepPath);
        for (String path : otherStepPaths) {
            stepsFilePaths.add(path);
        }

        Set<String> missingSteps = new LinkedHashSet<String>();
        Set<String> alreadyPresentSteps = StepsFileToolBox.getAlreadyImplementedSteps(stepsFilePaths.toArray(new String[0]));
        Map<String, String> stepMethodByStep = FeatureFileToolBox.getStepsMethodsFromFeatureFile(featureAsString);

        for (Entry<String, String> entry : stepMethodByStep.entrySet()) {
            if (!alreadyPresentSteps.contains(entry.getKey())) {
                missingSteps.add(entry.getKey());
            }
        }
        return missingSteps;
    }