public void validate() throws Exception {
DataSet dataSet = dataSetRef.get();
MemoryProfiler memoryProfiler = MemoryProfiler.lookup().freeMemory();
long memoryUsed = memoryProfiler.getMemoryUsedInBytes() - startMemory;
long elapsedTime = System.currentTimeMillis() - startTime;
long sizeInBytes = dataSet.sizeOf();
long maxSize = dataSet.getDataProvider().getDataLoader().getMaxDataSetSizeInBytes();
long maxTime = dataSet.getDataProvider().getDataLoader().getMaxDataSetLoadTimeInMillis();
long maxMemUsed = dataSet.getDataProvider().getDataLoader().getMaxMemoryUsedInDataLoad();
if (maxMemUsed > 0 && memoryUsed > maxMemUsed) {