public void parseJobSites(boolean includeEmailAddresses){
        if (!mWorkerQueue.isEmpty()) {
            final Observer o = new Observer();
            o.registerObserver(this);

            for (final AbstractJobSite site : mWorkerQueue) {
                final JobParser jobParser = new JobParser(site, o);

                if (includeEmailAddresses) {
                    jobParser.parseEmailAddresses();
                }
                mExecutorService.execute(jobParser);
            }

            //mExecutorService.isShutdown()
            mExecutorService.shutdown();
            while (!mExecutorService.isTerminated()) {} //Wait
            //Notify views that we've finished
            for (JobParserView v : mViewList) {
                v.onJobParserComplete();
            }
        } else {
            Logger.getInstance().logError("Worker queue is empty");
        }
    }