@SuppressWarnings("unchecked")
	public <E> View createViewForField(ProfileField<E> field, ViewGroup container, FieldValueListener<E> listener) {
    """
	Creates a new view to visualize the value and the clearance of the given
	profile field. If the {@link Mode} of visualization is {@link Mode#EDIT},
	the view will support modifications. Such modifications will trigger the
	appropriate call to a {@link FieldValueListener}, if provided.
	
	@param field
	- the field to visualize
	@param container
	- the {@link ViewGroup} to which the view is intended to be
	attached, as in {@link LayoutInflater#inflate(int, ViewGroup)}
	@param listener
	- the listener that will be notified of value or clearance
	changes in {@link Mode#EDIT} mode.
	@return - the view that visualizes the profile field. Please note that
	the view is <strong>NOT</strong> attached to the container;
    """
		E currentValue = mContainer.getFieldValue(field);

		if (field instanceof TagProfileField) {
			return createTagView((TagProfileField) field, (String[]) currentValue, listener, container, mMode == Mode.EDIT);
		}

		switch (mMode) {
		case SELF:
		case REMOTE:
			return createStandardDisplayView(field, currentValue, container);
		case EDIT:
			if (field instanceof MultipleChoicheProfileField) {
				return createSpinner((MultipleChoicheProfileField<E>) field, currentValue, listener, container);
			} else if (field instanceof DateProfileField) {
				return createDateView((DateProfileField) field, (Date) currentValue, (FieldValueListener<Date>) listener, container);
			} else {
				return createStandardEditView(field, currentValue, listener, container);
			}

		default:
			return null;
		}
	}
@SuppressWarnings("unchecked")
	public <E> View createViewForField(ProfileField<E> field, ViewGroup container, FieldValueListener<E> listener) {
		E currentValue = mContainer.getFieldValue(field);

		if (field instanceof TagProfileField) {
			return createTagView((TagProfileField) field, (String[]) currentValue, listener, container, mMode == Mode.EDIT);
		}

		switch (mMode) {
		case SELF:
		case REMOTE:
			return createStandardDisplayView(field, currentValue, container);
		case EDIT:
			if (field instanceof MultipleChoicheProfileField) {
				return createSpinner((MultipleChoicheProfileField<E>) field, currentValue, listener, container);
			} else if (field instanceof DateProfileField) {
				return createDateView((DateProfileField) field, (Date) currentValue, (FieldValueListener<Date>) listener, container);
			} else {
				return createStandardEditView(field, currentValue, listener, container);
			}

		default:
			return null;
		}
	}
@ SuppressWarnings ( "unchecked" ) public < E > View createViewForField ( ProfileField < E > field , ViewGroup container , FieldValueListener < E > listener ) { E currentValue = mContainer . getFieldValue ( field ) ; if ( field instanceof TagProfileField ) { return createTagView ( ( TagProfileField ) field , ( String [ ] ) currentValue , listener , container , mMode == Mode . EDIT ) ; } switch ( mMode ) { case SELF : case REMOTE : return createStandardDisplayView ( field , currentValue , container ) ; case EDIT : if ( field instanceof MultipleChoicheProfileField ) { return createSpinner ( ( MultipleChoicheProfileField < E > ) field , currentValue , listener , container ) ; } else if ( field instanceof DateProfileField ) { return createDateView ( ( DateProfileField ) field , ( Date ) currentValue , ( FieldValueListener < Date > ) listener , container ) ; } else { return createStandardEditView ( field , currentValue , listener , container ) ; } default : return null ; } }
Creates a new view to visualize the value and the clearance of the given
profile field. If the {@link Mode} of visualization is {@link Mode#EDIT},
the view will support modifications. Such modifications will trigger the
appropriate call to a {@link FieldValueListener}, if provided.

@param field
- the field to visualize
@param container
- the {@link ViewGroup} to which the view is intended to be
attached, as in {@link LayoutInflater#inflate(int, ViewGroup)}
@param listener
- the listener that will be notified of value or clearance
changes in {@link Mode#EDIT} mode.
@return - the view that visualizes the profile field. Please note that
the view is <strong>NOT</strong> attached to the container;
Creates a new view to visualize the value and the clearance of the given profile field . If the { @link Mode } of visualization is { @link Mode#EDIT } the view will support modifications . Such modifications will trigger the appropriate call to a { @link FieldValueListener } if provided .