private bool IsIntersect(VariableLifetimeCycle cycle1, List <VariableLifetimeCycle> cycles)
 {
     foreach (var cycle in cycles)
     {
         if (IsIntersect(cycle1, cycle))
         {
             return(true);
         }
     }
     return(false);
 }
        private bool IsIntersect(VariableLifetimeCycle cycle1, VariableLifetimeCycle cycle2)
        {
            if (cycle1.BeginInd >= cycle2.BeginInd && cycle1.BeginInd <= cycle2.EndInd)
            {
                return(true);
            }

            if (cycle1.EndInd >= cycle2.BeginInd && cycle1.EndInd <= cycle2.EndInd)
            {
                return(true);
            }

            // inside.
            if (cycle2.BeginInd >= cycle1.BeginInd && cycle2.BeginInd <= cycle1.EndInd)
            {
                return(true);
            }

            return(false);
        }
		private bool IsIntersect(VariableLifetimeCycle cycle1, VariableLifetimeCycle cycle2)
		{
			if (cycle1.BeginInd >= cycle2.BeginInd && cycle1.BeginInd <= cycle2.EndInd)
				return true;

			if (cycle1.EndInd >= cycle2.BeginInd && cycle1.EndInd <= cycle2.EndInd)
				return true;

			// inside.
			if (cycle2.BeginInd >= cycle1.BeginInd && cycle2.BeginInd <= cycle1.EndInd)
				return true;

			return false;
		}
		private bool IsIntersect(VariableLifetimeCycle cycle1, List<VariableLifetimeCycle> cycles)
		{
			foreach (var cycle in cycles)
				if (IsIntersect(cycle1, cycle))
					return true;
			return false;
		}