final ExpressionMethod em = (ExpressionMethod) expressionPart;
final List<ExpressionFormLine> emParams = em.getOrderedParams();
for ( int index = 0; index < emParams.size(); index++ ) {
final ExpressionFormLine paramValueHolder = emParams.get( index );
final String paramDataType = em.getParameterDataType( paramValueHolder );
final ExpressionMethodParameter paramValue = ( (ExpressionMethodParameter) paramValueHolder.getRootExpression() );
final TextBox paramValueEditor = TextBoxFactory.getTextBox( paramDataType );
paramValueEditor.addValueChangeHandler( new ValueChangeHandler<String>() {
@Override
public void onValueChange( ValueChangeEvent<String> event ) {
paramValue.setText( event.getValue() );
}
} );
paramValueEditor.setText( paramValue.getName() );
container.add( paramValueEditor );
if ( index < emParams.size() - 1 ) {
container.add( new Label( ", " ) );
}
}