class HL7Query {

    static Map<String, Object> assignAliases(final LinkedHashMap<String, List<Object>> possibleValues, final int iteration) {
        final Map<String, Object> aliasMap = new HashMap<>();

        int divisor = 1;
        for (final Map.Entry<String, List<Object>> entry : possibleValues.entrySet()) {
            final String alias = entry.getKey();
            final List<Object> validValues = entry.getValue();

            final int idx = (iteration / divisor) % validValues.size();
            final Object obj = validValues.get(idx);
            aliasMap.put(alias, obj);

            divisor *= validValues.size();
        }

        return aliasMap;
    }

    private  HL7Query(final Tree tree, final String query);

}