'Creates a dict with all needed parameters for the form wizard instances.
* `form_list` - is a list of forms. The list entries can be single form
classes or tuples of (`step_name`, `form_class`). If you pass a list
of forms, the wizardview will convert the class list to
(`zero_based_counter`, `form_class`). This is needed to access the
form for a specific step.
* `initial_dict` - contains a dictionary of initial data dictionaries.
The key should be equal to the `step_name` in the `form_list` (or
the str of the zero based counter - if no step_names added in the
`form_list`)
* `instance_dict` - contains a dictionary whose values are model
instances if the step is based on a ``ModelForm`` and querysets if
the step is based on a ``ModelFormSet``. The key should be equal to
the `step_name` in the `form_list`. Same rules as for `initial_dict`
apply.
* `condition_dict` - contains a dictionary of boolean values or
callables. If the value of for a specific `step_name` is callable it
will be called with the wizardview instance as the only argument.
If the return value is true, the step\'s form will be used.'

@classmethod
def get_initkwargs(cls, form_list=None, initial_dict=None, instance_dict=None, condition_dict=None, *args, **kwargs):

    kwargs.update({'initial_dict': (initial_dict or kwargs.pop('initial_dict', getattr(cls, 'initial_dict', None)) or {}), 'instance_dict': (instance_dict or kwargs.pop('instance_dict', getattr(cls, 'instance_dict', None)) or {}), 'condition_dict': (condition_dict or kwargs.pop('condition_dict', getattr(cls, 'condition_dict', None)) or {})})
    form_list = (form_list or kwargs.pop('form_list', getattr(cls, 'form_list', None)) or [])
    computed_form_list = SortedDict()
    assert (len(form_list) > 0), 'at    least    one    form    is    needed'
    for (i, form) in enumerate(form_list):
        if isinstance(form, (list, tuple)):
            computed_form_list[six.text_type(form[0])] = form[1]
        else:
            computed_form_list[six.text_type(i)] = form
    for form in six.itervalues(computed_form_list):
        if issubclass(form, formsets.BaseFormSet):
            form = form.form
        for field in six.itervalues(form.base_fields):
            if (isinstance(field, forms.FileField) and (not hasattr(cls, 'file_storage'))):
                raise NoFileStorageConfigured("You    need    to    define    'file_storage'    in    your    wizard    view    in    order    to    handle    file    uploads.")
    kwargs['form_list'] = computed_form_list
    return kwargs
