@Override public SeriesData getData(double x1, double x2) { if (x2 < data.getX(0) || x1 > data.getX(data.length() - 1)) { return SeriesData.create(); } int start = Algorithm.xBinarySearch(data, x1); if (start == -1) { start = 0; } int end = Algorithm.xBinarySearch(data, x2); if (end == -1) { return data.slice(start); } return data.slice(start, end); }