@Override
protected Device doAccept(Token token, int flags) throws CommandSyntaxException {
try {
final DeviceManager devMgr = getDeviceManager();
final Device device = devMgr.getDevice(token.text);
if (apiClass == null || device.implementsAPI(apiClass)) {
return device;
} else {
throw new CommandSyntaxException("this device does not implement the " +
apiClass.getSimpleName() + " API");
}