private synchronized List<VisibilityQueryImplementation> getVqiInstances() { if (cachedVqiInstances == null) { vqiResult = Lookup.getDefault().lookupResult(VisibilityQueryImplementation.class); vqiResult.addLookupListener(resultListener); setupChangeListeners(null, new ArrayList<VisibilityQueryImplementation>(vqiResult.allInstances())); } return cachedVqiInstances; }