     ///   - defaultConfigurationIsVisible: default configuration is visible.
     public init(reference: String,
                 buildConfigurations: [String],
-                defaultConfigurationName: String,
-                defaultConfigurationIsVisible: UInt = 0) {
+                defaultConfigurationName: String? = nil,
+                defaultConfigurationIsVisible: UInt? = nil) {
         self.buildConfigurations = buildConfigurations
         self.defaultConfigurationName = defaultConfigurationName
         self.defaultConfigurationIsVisible = defaultConfigurationIsVisible

    public var buildConfigurations: [String]
    
    /// Element default configuration is visible.
    public var defaultConfigurationIsVisible: UInt
    
    /// Element default configuration name
    public var defaultConfigurationName: String
    
    // MARK: - Init
    

        dictionary["buildConfigurations"] = .array(buildConfigurations
            .map { .string(CommentedString($0, comment: proj.configName(from: $0)))
        })
        if let defaultConfigurationIsVisible = defaultConfigurationIsVisible {
            dictionary["defaultConfigurationIsVisible"] = .string(CommentedString("\(defaultConfigurationIsVisible)"))
        }
        if let defaultConfigurationName = defaultConfigurationName {
            dictionary["defaultConfigurationName"] = .string(CommentedString(defaultConfigurationName))
        }
        return (key: CommentedString(self.reference,
                                                 comment: plistComment(proj: proj)),
                value: .dictionary(dictionary))
