public static LogicalElement Build(int numElement, FunctionTypes functionType, BrokenTypes brokenType = BrokenTypes.Non)
        {
            LogicalElement element = CreateLogicalElement(numElement);
            element = SetFunction(element, functionType);
            element = SetBrokenType(element, brokenType);

            return element;
        }
		public LogicalElement(Func<bool[], bool> function, int numberElement, BrokenTypes brokenType = BrokenTypes.Non)
		{
			_numberElement = numberElement;
			_brokenType = brokenType;
			_function = function;
		}
 private static LogicalElement SetBrokenType(LogicalElement element, BrokenTypes brokenType)
 {
     element.BrokenType = brokenType;
     return element;
 }