public static @Nullable <T> List<T> mergeLists(@Nullable List<T> first, @Nullable List<T> second) {
    if (first == null || first.isEmpty()) return second;
    if (second == null) {
      return first;
    }
    var target = new ArrayList<T>(first.size() + second.size());
    target.addAll(first);
    target.addAll(second);
    return target;
  }
public static @Nullable <T> List<T> mergeLists(@Nullable List<T> first, @Nullable List<T> second)