public String subPath(int start, int end) {
        if (start < 0 || end < start || end > path_.length()) {
            throw new IndexOutOfBoundsException();
        }

        return path_.substring(start, end);
    }