private byte[] getFilesBuffer(IFile files[]) throws IOException {
protected byte[] getFilesBuffer(IFile files[]) throws IOException {
        private byte[] getFilesBuffer(IFile files[]) throws IOException {            byte buffers[][] = new byte[files.length][];            int size = 0;            lastModificationDate = 0;            for (int i = 0; i < files.length; i++) {                Record record = getFileRecord(files[i], locale);                synchronized (record) {                    buffers[i] = record.getBuffer();                    size += buffers[i].length;                    long lm = record.getLastModificationDate();                    // plusieurs cas :                    // * on ne connait encore aucune date                    // * une des dates est inconnue, la date globale est                    // donc inconnue                    // * la nouvelle date est plus recente que les                    // precedentes                    if (lm > lastModificationDate) {                        lastModificationDate = lm;                    }                }            }            buffer = new byte[size];            int offset = 0;            for (int i = 0; i < files.length; i++) {                byte b[] = buffers[i];                System.arraycopy(b, 0, buffer, offset, b.length);                offset += b.length;            }            if (LOG.isInfoEnabled()) {                DateFormat dateFormat = DateFormat.getDateTimeInstance(                        DateFormat.SHORT, DateFormat.MEDIUM);                StringAppender sb = new StringAppender(files.length * 32);                for (int i = 0; i < files.length; i++) {                    Record record = getFileRecord(files[i], locale);                    if (sb.length() > 0) {                        sb.append(", ");                    }                    sb.append(record.file.getFilename());                }                LOG.debug("Merge records for '" + file.getFilename()                        + "' into " + buffer.length + " bytes, modified date="                        + dateFormat.format(new Date(lastModificationDate))                        + ", files '" + sb.toString() + "'.");            }            if (hasEtagSupport()) {                etag = computeETag(buffer);            }            if (hasHashSupport()) {                hash = computeHash(buffer);            }            return buffer;        }