private void fieldsMoved(object sender, FieldsMovedEventArgs e)
        {
            var targetIndex = _populationAnalysis.AllFieldsOn(e.Area).Count - 1;

            if (e.Target != null)
            {
                targetIndex = _populationAnalysis.GetAreaIndex(e.Target);
            }

            foreach (var movedField in e.Fields)
            {
                _populationAnalysis.SetPosition(movedField, e.Area, ++targetIndex);
            }

            if (e.Target != null)
            {
                _populationAnalysis.SetPosition(e.Target, e.Area, ++targetIndex);
            }

            RefreshAnalysis();
            _eventPublisher.PublishEvent(new FieldsMovedInPopulationAnalysisEvent(_populationAnalysis, e.Fields));
        }
 private void fieldsMoved(object sender, FieldsMovedEventArgs e)
 {
     FieldsMoved(this, e);
 }