@Override
    public @Nullable Icon getIcon(Object o, int flags) {
      if (o == null) {
        return myIcon.getValue();
      }
      PresentationProvider provider = myPresentationProvider.getValue();
      if (provider == null) {
        return myIcon.getValue();
      }
      else {
        Icon icon = provider.getIcon(o);
        return icon == null ? myIcon.getValue() : icon;
      }
    }
@Override
    public @Nullable Icon getIcon(Object o, int flags)