public Source[] getLibrariesDependingOn(Source librarySource) {
synchronized (cacheLock) {
ArrayList<Source> dependentLibraries = new ArrayList<Source>();
MapIterator<Source, SourceEntry> iterator = cache.iterator();
while (iterator.moveNext()) {
SourceEntry sourceEntry = iterator.getValue();
if (sourceEntry.getKind() == SourceKind.LIBRARY) {
if (contains(
((DartEntry) sourceEntry).getValue(DartEntry.EXPORTED_LIBRARIES),
librarySource)) {
dependentLibraries.add(iterator.getKey());
}