in src/main/java/com/epam/parso/impl/SasFileParser.java [936:959]
private List<byte[]> getBytesFromFile(Long[] offset, Integer[] length) throws IOException {
List<byte[]> vars = new ArrayList<>();
if (cachedPage == null) {
for (int i = 0; i < offset.length; i++) {
byte[] temp = new byte[length[i]];
skipBytes(offset[i] - currentFilePosition);
try {
sasFileStream.readFully(temp, 0, length[i]);
} catch (EOFException e) {
eof = true;
}
currentFilePosition = (int) (long) offset[i] + length[i];
vars.add(temp);
}
} else {
for (int i = 0; i < offset.length; i++) {
if (cachedPage.length < offset[i]) {
throw new IOException(EMPTY_INPUT_STREAM);
}
vars.add(Arrays.copyOfRange(cachedPage, (int) (long) offset[i], (int) (long) offset[i] + length[i]));
}
}
return vars;
}