@Override public void close() { if (scanResult != null) { scanResult.close(); } }
@Override public void run() { for (final WeakReference<ScanResult> weakReference : new ArrayList<>(nonClosedWeakReferences)) { final ScanResult scanResult = weakReference.get(); if (scanResult != null) { scanResult.close(); } nonClosedWeakReferences.remove(weakReference); } } });