             }
             return element
         }
-    }
-
-    public struct EnvironmentVariable {
+
+        public static func == (lhs: CommandLineArguments, rhs: CommandLineArguments) -> Bool {
+            return lhs.arguments == rhs.arguments
+        }
+    }
+
+    // MARKK: - EnvironmentVariable
+
+    public struct EnvironmentVariable: Equatable {
         public let variable: String
         public let value: String
         public let enabled: Bool

                                value: nil,
                                attributes: ["Identifier": identifier])
        }
    }

    public final class TestableReference {
        public var skipped: Bool
        public var buildableReference: BuildableReference
        public var skippedTests: [SkippedTest]
        public init(skipped: Bool,
                    buildableReference: BuildableReference,
                    skippedTests: [SkippedTest] = []) {


            return element
        }

        public static func == (lhs: EnvironmentVariable, rhs: EnvironmentVariable) -> Bool {
            return lhs.variable == rhs.variable &&
                lhs.value == rhs.value &&
                lhs.enabled == rhs.enabled
        }
    }

    // MARK: - ExecutionAction

    public final class ExecutionAction: Equatable {
        public var title: String
        public var scriptText: String
        public var environmentBuildable: BuildableReference?
