private void RunFinish(Structuring aStructuring, ClusterAlgorithm aClusterAlgorithm)
        {
            try
            {
                ClusterAlgorithm _ClusterAlg = aClusterAlgorithm;
                Structuring _structuring = aStructuring;

                if (_structuring != null)
                {
                    TimeSpan ts = _ClusterAlg.Time;
                    string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",ts.Hours, ts.Minutes, ts.Seconds,ts.Milliseconds / 10);

                    PartitionInfo _partinfo = new PartitionInfo()
                    {
                        AlgorithmName = this.tb_SelectClusterAlg.Text,
                        ClusterAlgorithm = _ClusterAlg,
                        Partition = _structuring,
                        AlgorithmType = AlgorithmType.Clustering,
                        Time = elapsedTime,
                        Index = -1
                    };

                    this.uctrl_ListClusterAlgVisualizer.AddPartitionInfo(_partinfo);
                    this.tb_output.Text = _ClusterAlg.Output;

                    if (NewStructuringEventHandler != null)
                    {
                        NewStructuringEventHandler(this, new NewStructuringEventArgs(_partinfo));
                    }

                    //Experimental Mode
                    this.ExperimentalMode = false;
                }
            }
            catch (Exception _ex)
            {
                GeneralTools.Tools.WriteToLog(_ex);
            }
        }
 private Structuring RunMethod(ClusterAlgorithm aClusterAlgorithm)
 {
     try
     {
         aClusterAlgorithm.IContainerProgressBar = IContainerProgressBar;
         //return aClusterAlgorithm.BuildStructuring();
         return aClusterAlgorithm.BuildStructuringWithTime();
     }
     catch (Exception _ex)
     {
         GeneralTools.Tools.WriteToLog(_ex);
         return null;
     }
 }