@Override
    public boolean checkPassword(CharSequence password) {
        Objects.requireNonNull(password);
        checkState(keyCrypter != null, () ->
                "key chain not encrypted");
        return checkAESKey(keyCrypter.deriveKey(password));
    }
@Test(expected = IllegalStateException.class)
    public void checkPasswordNoKeys() {
        chain.checkPassword("test");
    }