Reconsider use or of java.net.URL in List<URL>, as 'equals' and 'hashCode' methods of URL class does synchronous DNS lookup on every call.