+ abstract void addDevice(String publicKey, Device device);
+
+ abstract void removeDevice(String publicKey, Device device);
+ }
+
+ private static class DeviceConfig extends AbstractDeviceListener {
+ private final ConcurrentMap<PublicKey, Device> byPublicKey = new ConcurrentHashMap<>();
+ private final AuthorizedKeysDecoder keyDecoder = new AuthorizedKeysDecoder();
+
+ Device get(final PublicKey key) {
+ return byPublicKey.get(key);
+ }
+
+ @Override
+ void addDevice(final String publicKey, final Device device) {
+ final PublicKey key = publicKey(publicKey, device);
+ if (key != null) {
+ byPublicKey.put(key, device);