/// <summary>
 /// Assigns the pipeline that is being passed,based on the location.
 /// </summary>
 /// <param name="location">The location of the mouse click.</param>
 /// <param name="pipe">The pipeline that will be assigned.</param>
 public override void SetPipeline(Point location, Pipeline pipe)
 {
     if (ComponentBox.Contains(location))
     {
         this.IncomePipeline = pipe;
     }
 }
 /// <summary>
 /// Assigns the pipeline that is being passed,based on the location.
 /// </summary>
 /// <param name="location">The location of the mouse click.</param>
 /// <param name="pipe">The pipeline that will be assigned.</param>
 public override void SetPipeline(Point location, Pipeline pipe)
 {
     if (ComponentBox.Contains(location))
     {
         this.OutcomePipeline = pipe;
         this.OutcomePipeline.ChangeCurrentFlow(Flow);
     }
 }
 /// <summary>
 /// Checks if the pipeline where the mouse click has been made is not connected(null).
 /// </summary>
 /// <param name="location">The location of the mouse click.</param>
 /// <returns>True if the pipeline is null.Otherwise false.</returns>
 public override bool IsLocationEmpty(Point location)
 {
     if (ComponentBox.Contains(location))
     {
         return(this.OutcomePipeline == null);
     }
     return(false);
 }
 /// <summary>
 /// Gets a concrete point that is used for connecting pipelines based on where the mouse click has been made.
 /// </summary>
 /// <param name="location">The location of the mouse click.</param>
 /// <returns>A concrete prefixed point.</returns>
 public override Point?GetPipelineLocation(Point mouseClick)
 {
     if (ComponentBox.Contains(mouseClick))
     {
         return(pipelineLocation);
     }
     return(null);
 }