private void removePinStorageValue(DashBoard dash, int targetId,
PinType pinType, short pin, boolean removeProperties) {
Target target;
if (targetId < Tag.START_TAG_ID) {
target = getDeviceById(dash, targetId);
} else if (targetId < DeviceSelector.DEVICE_SELECTOR_STARTING_ID) {
target = getTagById(dash, targetId);
} else {
target = dash.getDeviceSelector(targetId);
}
if (target != null) {
for (int deviceId : target.getAssignedDeviceIds()) {
pinsStorage.remove(new DashPinStorageKey(dash.id, deviceId, pinType, pin));
if (removeProperties) {
for (WidgetProperty widgetProperty : WidgetProperty.getValues()) {
pinsStorage.remove(
new DashPinPropertyStorageKey(dash.id, deviceId, pinType, pin, widgetProperty));
}
}
}
}
}