        self._class = _class
    }

    public enum CodingKeys: String, CodingKey, CaseIterable {
        case _self = "self"
        case _class
    }

    // Encodable protocol methods

    public func encode(to encoder: Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encodeIfPresent(_self, forKey: ._self)
        try container.encodeIfPresent(_class, forKey: ._class)