         }
         return value
     }
+
+	public func validate() {}
 }
 
 extension Double: XMLElementDeserializable, XMLAttributeDeserializable {

    func value<T: XMLElementDeserializable>() throws -> [T?] {
        switch self {
        case .list(let elements):
            return try elements.map { try T.deserialize($0) }
        case .element(let element):
            return try [element].map { try T.deserialize($0) }
        case .stream(let opStream):
            return try opStream.findElements().value()
        default:

public protocol XMLElementDeserializable {
    /// Method for deserializing elements from XMLElement
    static func deserialize(_ element: XMLElement) throws -> Self
	/// Method for validating elements from XMLElement post deserialization
	func validate() throws
}

/// Provides XMLElement deserialization / type transformation support
