static @NotNull <T> T copy(@NotNull T o) {
      if (!(o instanceof Stateful)) return o;
      //noinspection unchecked
      return (T)((Stateful<?>)o).clone();
    }
static @NotNull <T> T copy(@NotNull T o)