/** as {@link #put(Object, Object)} but excluding null values, and fluent style */ public MutableMap<K,V> addIfNotNull(K key, V value) { if (value!=null) add(key, value); return this; }
public Location resolveLocationDefinition(LocationDefinition ld, Map locationFlags, String optionalName) { MutableMap newLocationFlags = new MutableMap().add(locationFlags).add(ld.getConfig()); if (optionalName==null && ld.getName()!=null) optionalName = ld.getName(); if (optionalName!=null) newLocationFlags.add("named", optionalName); try { return resolve(ld.getSpec(), newLocationFlags); } catch (Exception e) { throw new IllegalStateException("Cannot instantiate named location '"+optionalName+"' pointing at "+ld.getSpec()+": "+e, e); } }