### Question:
SymbolImpl implements Symbol { protected SymbolImpl (String name, Scope scope) { if (name.isEmpty ()) { throw new ExecutionException ("empty name"); } else if (!mNamePattern.matcher (name).matches ()) { throw new ExecutionException ("invalid name '%s'", name); } else { mName = name; mScope = scope; } } protected  SymbolImpl(String name, Scope scope); @Override final String getName(); @Override final String getValue(); @Override final void setValue(String value); @Override final void clear(String name);  }### Answer:
@Test public void testSymbolImpl () { try { SymbolImpl symbol = new SymbolImplImpl ("", VALUE1); fail ("no exception"); } catch (ExecutionException ee) { } try { SymbolImpl symbol = new SymbolImplImpl ("invalid name", VALUE1); fail ("no exception"); } catch (ExecutionException ee) { } assertNotNull (new SymbolImplImpl (NAME, VALUE1)); }