socket javadocs stay to use IllegalArgumentException for this. let's stick to that constract