static void verifyBlindState(final BlindState blindState) throws VerificationFailedException { try { if (!blindState.hasMovementState() && !blindState.hasOpeningRatio()) { throw new VerificationFailedException("MovementState and OpeningRatio not available!", new InvalidStateException(blindState.toString())); } if (blindState.hasOpeningRatio() && blindState.getOpeningRatio() < 0) { throw new VerificationFailedException("Opening ratio of blind state out of range with value[" + blindState.getOpeningRatio() + "]!", new InvalidStateException(blindState.toString())); } if (blindState.hasMovementState()) { switch (blindState.getMovementState()) { case UNKNOWN: throw new VerificationFailedException("MovementState unknown!", new InvalidStateException(blindState.toString())); default: break; } } } catch (final CouldNotPerformException ex) { throw new VerificationFailedException("BlindState not valid!", ex); } } }