docs: public synchronized Collection<String> getPropertyNames() {
          if (properties == null) {
              return Collections.emptySet();
          }
          return Collections.unmodifiableSet(new HashSet<>(properties.keySet()));
      }