public SubnetDevices setNoThreads(int noThreads) throws IllegalArgumentException {
        if (noThreads < 1) throw new IllegalArgumentException("Cannot have less than 1 thread");
        this.noThreads = noThreads;
        return this;
    }
@param noThreads set the number of threads to work with, note we default to a large number
                 as these requests are network heavy not cpu heavy.

@throws IllegalArgumentException - if invalid number of threads requested

@return - this for chaining
library/src/main/java/com/stealthcopter/networktools/SubnetDevices.java