class TypeLiteral implements Serializable {

    public static Type[] getTypeParameters(Type type) {
        Objects.requireNonNull(type, "Type must be given.");

        if (type instanceof ParameterizedType) {
            ParameterizedType parameterizedType = (ParameterizedType) type;
            return parameterizedType.getActualTypeArguments();
        }
        return EMPTY_TYPE_ARRAY;
    }

    public  TypeLiteral(Type definedType);
    public  TypeLiteral();

}