PaymentChannelClient support for encrypted wallets. 

If a wallet is encrypted, we found that payment channels do not work. This solution aims to make it possible for a user to provide password when a channel is created and when the channel is incremented. This proposal only enables client wallets to be encrypted.
Same here. Is there any case where userKey.getKey().length can actually be zero?