### Question:
Document implements Map<String, Object>, Bson { public Object getOrMissing(Object key) { return getOrDefault(key, Missing.getInstance()); } Document();  Document(String key, Object value);  Document(Map<String, ?> map); void cloneInto(Document targetDocument); Document cloneDeeply(); Document append(String key, Object value); Document appendAll(Map<String, Object> map); @Override boolean containsValue(Object value); @Override Object get(Object key); Object getOrMissing(Object key); @Override void clear(); @Override int size(); @Override boolean isEmpty(); @Override boolean containsKey(Object key); @Override Object put(String key, Object value); void putIfNotNull(String key, Object value); @Override void putAll(Map<? extends String, ?> m); @Override Object remove(Object key); @Override @SuppressWarnings("unchecked") Document clone(); @Override Set<String> keySet(); @Override Collection<Object> values(); @Override Set<Entry<String, Object>> entrySet(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); String toString(boolean compactKey); String toString(boolean compactKey, String prefix, String suffix);  }### Answer:
@Test void testGetOrMissing() throws Exception { Document document = new Document().append("a", 1); assertThat(document.getOrMissing("b")).isInstanceOf(Missing.class); assertThat(document.getOrMissing("a")).isEqualTo(1); }