private void generateBucketIds() {
        // generate indexes for buckets, needed if two different ranges belong to the same file
        this.buckets = 0;
        bucketIds = new int[filenames.length];

        HashMap<String, Integer> tmpSeenFilenames = new HashMap<String, Integer>();
        for (int i = 0; i < filenames.length; i++) {
            if (!tmpSeenFilenames.containsKey(filenames[i])) {
                tmpSeenFilenames.put(filenames[i], this.buckets++);
            }
            bucketIds[i] = tmpSeenFilenames.get(filenames[i]);
        }
        this.buckets = bucketIds.length;
    }
private void generateBucketIds ( ) { this . buckets = 0 ; bucketIds = new int [ filenames . length ] ; HashMap < String , Integer > tmpSeenFilenames = new HashMap < String , Integer > ( ) ; for ( int i = 0 ; i < filenames . length ; i ++ ) { if ( ! tmpSeenFilenames . containsKey ( filenames [ i ] ) ) { tmpSeenFilenames . put ( filenames [ i ] , this . buckets ++ ) ; } bucketIds [ i ] = tmpSeenFilenames . get ( filenames [ i ] ) ; } this . buckets = bucketIds . length ; }
generates the correct index structure, namely the bucketIds to the already initialized filenames and
maxRangeValues