@Override
   public <K> void executeTask(
           final AdvancedCacheLoader.KeyFilter<K> filter,
           final ParallelIterableMap.KeyValueAction<Object, InternalCacheEntry> action
   ) throws InterruptedException{
      if (filter == null)
         throw new IllegalArgumentException("No filter specified");
      if (action == null)
         throw new IllegalArgumentException("No action specified");
      ParallelIterableMap<Object, InternalCacheEntry> map =
              (ParallelIterableMap<Object, InternalCacheEntry>) entries;
       map.forEach(512, new ParallelIterableMap.KeyValueAction<Object, InternalCacheEntry>() {
           @Override
           public void apply(Object o, InternalCacheEntry internalCacheEntry) {
           }
//         @Override
//         public void apply(Object key, OffHeapInternalCacheEntry value) {
//            if (filter.shouldLoadKey((K)key)) {
//               action.apply((K)key, value);
//            }
//         }
      });
      //TODO figure out the way how to do interruption better (during iteration)
      if(Thread.currentThread().isInterrupted()){
         throw new InterruptedException();
      }
   }
@Override
   public <K> void executeTask(
           final AdvancedCacheLoader.KeyFilter<K> filter,
           final ParallelIterableMap.KeyValueAction<Object, InternalCacheEntry> action
   ) throws InterruptedException{
      if (filter == null)
         throw new IllegalArgumentException("No filter specified");
      if (action == null)
         throw new IllegalArgumentException("No action specified");
      ParallelIterableMap<Object, InternalCacheEntry> map =
              (ParallelIterableMap<Object, InternalCacheEntry>) entries;
       map.forEach(512, new ParallelIterableMap.KeyValueAction<Object, InternalCacheEntry>() {
           @Override
           public void apply(Object o, InternalCacheEntry internalCacheEntry) {
           }
      });
     
      if(Thread.currentThread().isInterrupted()){
         throw new InterruptedException();
      }
   }
@override public <k> void executetask( final advancedcacheloader.keyfilter<k> filter, final paralleliterablemap.keyvalueaction<object, internalcacheentry> action ) throws interruptedexception{ if (filter == null) throw new illegalargumentexception("no filter specified"); if (action == null) throw new illegalargumentexception("no action specified"); paralleliterablemap<object, internalcacheentry> map = (paralleliterablemap<object, internalcacheentry>) entries; map.foreach(512, new paralleliterablemap.keyvalueaction<object, internalcacheentry>() { @override public void apply(object o, internalcacheentry internalcacheentry) { } }); if(thread.currentthread().isinterrupted()){ throw new interruptedexception(); } }