### Question:
LocalStore implements Store<LocalStore<V>>, LocalVariableValues<V> { @Override public LocalStore<V> leastUpperBound(LocalStore<V> other) { Builder<V> result = LocalStore.<V>empty().toBuilder(); for (Element var : intersection(contents.keySet(), other.contents.keySet())) { result.contents.put(var, contents.get(var).leastUpperBound(other.contents.get(var))); } return result.build(); } private  LocalStore(Map<Element, V> contents); @SuppressWarnings("unchecked") // fully variant static LocalStore<V> empty(); @Override V valueOfLocalVariable(LocalVariableNode node, V defaultValue); Builder<V> toBuilder(); @Override LocalStore<V> copy(); @Override LocalStore<V> leastUpperBound(LocalStore<V> other); @Override LocalStore<V> widenedUpperBound(LocalStore<V> vLocalStore); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); @Override boolean canAlias(FlowExpressions.Receiver a, FlowExpressions.Receiver b); @Override String visualize(CFGVisualizer<?, LocalStore<V>, ?> cfgVisualizer);  }### Answer:
@Test public void leastUpperBoundEmpty() { assertThat(newStore().leastUpperBound(newStore())).isEqualTo(newStore()); }