public void getAccessoryState(int... accessoryNumber) throws ProtocolException {
if (accessoryNumber.length > 1) {
int windowSize = BidibNode.BULK_WINDOW_SIZE;
List<BidibCommand> messages = new LinkedList<>();
for (int i = 0; i < accessoryNumber.length; i++) {
messages.add(delegate.getRequestFactory().createAccessoryGet(accessoryNumber[i]));
}
LOGGER
.info("Get the accessory states with bulk messages, windowSize: {}, accessoryNumber: {}",
new Object[] { windowSize, accessoryNumber });
delegate.sendBulk(windowSize, messages, true, ProcessSendQueue.enabled);
}
else {
LOGGER.info("Get the accessory states with single message, accessoryNumber: {}", accessoryNumber[0]);
delegate.sendNoWait(new AccessoryGetMessage(accessoryNumber[0]));
}
}