protected function FindSnippet(IFormField $field)
    {
        if ($field instanceof Input && 
                ($field->GetType() == Input::TypeText || 
                $field->GetType() == Input::TypePassword ||
                $field->GetType() == Input::TypeColor))
        {
            return new FormFields\TextInputField($field);
        }
        
        if ($field instanceof Input && 
                $field->GetType() == Input::TypeHidden)
        {
            return new FormFields\HiddenInputField($field);
        }
        
        if ($field instanceof Input && 
                $field->GetType() == Input::TypeFile)
        {
            return new FormFields\FileInputField($field);
        }
        if ($field instanceof Custom)
        {
            return new FormFields\CustomField($field);
        }
        if ($field instanceof Select)
        {
            return new FormFields\SelectField($field);
        }
        
        if ($field instanceof Textarea)
        {
            return new FormFields\TextareaField($field);
        }
        
        if ($field instanceof Checkbox)
        {
            return new FormFields\CheckboxField($field);
        }
        
        if ($field instanceof CheckList)
        {
            return new FormFields\CheckListField($field);
        }
        
        if ($field instanceof Submit)
        {
            return new FormFields\SubmitField($field);
        }
        
        if ($field instanceof Radio) {
            return new FormFields\RadioField($field);
        }
    }