### Question:
Options implements ProtoObject<KeyValueSetProto>, Cloneable, GsonObject { public String delete(String key) { return keyVals.remove(key); } Options();  Options(KeyValueSetProto proto);  Options(Options options); static Options create(); static Options create(Options options); int size(); void put(String key, String val); void putAll(Map<String, String> keyValues); void putAll(Options options); String get(String key); String get(String key, String defaultVal); Map<String,String> getAllKeyValus(); String delete(String key); @Override int hashCode(); @Override boolean equals(Object object); @Override Object clone(); @Override KeyValueSetProto getProto(); String toJson();  }### Answer:
@Test public final void testDelete() { Options opts = new Options(); opts.put("name", "abc"); opts.put("delimiter", ","); assertEquals("abc", opts.get("name")); assertEquals("abc", opts.delete("name")); assertNull(opts.get("name")); Options opts2 = new Options(opts.getProto()); assertNull(opts2.get("name")); }