docs: @SuppressWarnings("unchecked")
    private Collection<Object> newCollection(Class<?> type) {
      if (SortedSet.class.isAssignableFrom(type)) return new TreeSet();
      else if (LinkedHashSet.class.isAssignableFrom(type)) return new LinkedHashSet();
      else if (Set.class.isAssignableFrom(type)) return new HashSet();
      else if (List.class.isAssignableFrom(type)) return new ArrayList();
      else {
        throw new ParameterException("Parameters of Collection type '" + type.getSimpleName()
                                    + "' are not supported. Please use List or Set instead.");
      }
    }