### Question:
JsonRecoverySchemeSerialiser implements RecoverySchemeSerialiser { @Override @Nonnull public Single<RecoveryScheme> deserialise(@Nonnull final String serialisedScheme) { checkNotNull(serialisedScheme, "\'serialisedScheme\' must not be null."); return Single .just(serialisedScheme) .map(scheme -> { final JsonObject jsonObject = new JsonParser().parse(serialisedScheme).getAsJsonObject(); final byte[] primeBase64Decoded = Base64.getDecoder().decode(jsonObject.get("prime").getAsString()); return RecoveryScheme .builder() .setRequiredShareCount(jsonObject.get("requiredShareCount").getAsInt()) .setPrime(new BigInteger(primeBase64Decoded)) .build(); }) .onErrorResumeNext(error -> Single.error( new DeserialisationException(format("Cannot deserialise \'%1$s.\'", serialisedScheme), error))); }  @Override @Nonnull Single<String> serialise(@Nonnull final RecoveryScheme scheme); @Override @Nonnull Single<RecoveryScheme> deserialise(@Nonnull final String serialisedScheme); @Override @Nonnull Single<Boolean> isValidSerialisation(@Nonnull final String serialisedScheme);  }### Answer:
@Test(expected = IllegalArgumentException.class) public void testDeserialise_nullSerialisedRecoveryScheme() { serialiser.deserialise(null); }