OK, I can see that now. I wonder if this should be synchronized, I realise at this time this method is only called in one place but in future the API may be invoked in multiple threads at the same time and they could both hit the exception block at the same time and overwrite defaultProperties...