static public <K extends PMMLObject, V> V getValue(K key, Callable<? extends V> loader, Cache<K, V> cache){ try { return cache.get(key, loader); } catch(ExecutionException ee){ throw new InvalidFeatureException(key); } catch(UncheckedExecutionException uee){ Throwable cause = uee.getCause(); if(cause instanceof PMMLException){ throw (PMMLException)cause; } throw new InvalidFeatureException(key); } } }