private static String applyParametersToGremlin(String currentGremlin, Map<String, String> parameters) {
        // sort from longest to shortest so that xx1 does not replace xx10
        final List<String> paramNames = new ArrayList<>(parameters.keySet());
        paramNames.sort((a,b) -> b.length() - a.length());
        for (String k : paramNames) {
            currentGremlin = currentGremlin.replace(k, parameters.get(k));
        }
        return currentGremlin;
    }
Parses features to a {@code Map} structure of the test name as the key with a {@code List} of Gremlin strings
for the value.

@param featureDir The root directory where feature files can be found including subdirectories
@param parameterMatchers list of pattern/functions that will transform a parameter from its Gherkin form to
                         another format triggering that new formatted string to be inserted into the Gremlin
                         itself
gremlin-language/src/main/java/org/apache/tinkerpop/gremlin/language/corpus/FeatureReader.java