@Override
  public IProperty findPropertyByKey(@NotNull @NonNls String key) {
    synchronized (myLock) {
      ensurePropertiesLoaded();
      Iterator<IProperty> properties = myPropertiesMap.get(key).iterator();
      return properties.hasNext() ? properties.next(): null;
    }
  }
@Override
  public IProperty findPropertyByKey(@NotNull @NonNls String key)