private void cleanup() {
    for (Iterator<Map.Entry<VirtualFile, MappingValue<T>>> it = myMappings.entrySet().iterator(); it.hasNext(); ) {
      Map.Entry<VirtualFile, MappingValue<T>> entry = it.next();
      VirtualFile file = entry.getKey();
      MappingValue<T> mapping = entry.getValue();
      if (file == null) continue;
      if (mapping == null || !file.isValid() || mapping.unknownValue() == null && isDefaultMapping(file, mapping.value())) {
        it.remove();
      }
    }
  }
private void cleanup()