/// <summary> /// Determines whether given <paramref name="node"/> is valid. /// </summary> /// <param name="node">Node to perform check on.</param> /// <returns><see langword="true"/> if node is valid; otherwise, <see langword="false"/>.</returns> /// <exception cref="ArgumentNullException"></exception> public static bool IsKnownNode([In] Fb2Node node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } var hasKnownName = IsKnownNodeName(node.Name); var hasKnownType = KnownNodes.ContainsValue(node.GetType()); return(hasKnownName && hasKnownType); }