         }).map({
             "\($0): \($0)"
         }).joined(separator: ", ")
-        lines.append("\(indent2)init(\(arguments))")
+        lines.append("\(indent2)self.init(\(arguments))")
         lines.append("\(indent1)}")
         return lines.joined(separator: "\n")
     }

        let indent1 = indentation.deeper.value
        let indent2 = indentation.deeper.deeper.value
        var lines: [String] = []
        lines.append("\(indent1)\(meta.publicCode)init?(json: \(meta.jsonDictionaryName)) {")
        properties.forEach {
            let propertyName = $0.name.propertyName(meta: meta)
            switch $0.type.status {

                            lines.append("\(indent2)let \(propertyName) = Date(timeIntervalSince1970: \(dateTimeInterval))")
                        }
                    case .any:
                        lines.append("\(indent2)guard let \(propertyName) = json[\"\($0.name)\"] else { return nil }")
                    case .null:
                        assertionFailure("null for normal")
                        break
                    }
                case let .struct(s):
