public void FillFieldsFromDataSource()
{
DataFields = new List<Field> ();
if (DataSource != null) {
foreach(var field in _dataSource.DiscoverFields () ){
field.FieldKind = FieldKind.Data;
DataFields.Add( field );
}
}else
throw new InvalidOperationException("Datasource can't be null while discovering data fields");
}