@NotNull
  @Override
  public List<IProperty> getProperties() {
    synchronized (myLock) {
      ensurePropertiesLoaded();
      return myProperties;
    }
  }
@NotNull
  @Override
  public List<IProperty> getProperties()