/// <inheritdoc/>
 public virtual void Decode(IDecoder decoder)
 {
     decoder.PushNamespace(Namespaces.OpcUaXsd);
     Field      = new DataTypeDefinitionField();
     Field.Name =
         decoder.ReadString(nameof(Field.Name));
     Field.SymbolicName =
         decoder.ReadString(nameof(Field.SymbolicName));
     Field.Description =
         decoder.ReadLocalizedText(nameof(Field.Description));
     Field.DataType =
         decoder.ReadNodeId(nameof(Field.DataType));
     Field.ValueRank =
         decoder.ReadInt32(nameof(Field.ValueRank));
     Field.Definition =
         decoder.ReadEncodeable <EncodeableDataTypeDefinition>(
             nameof(Field.Definition))?.Definition;
     Field.Value =
         decoder.ReadInt32(nameof(Field.Value));
     decoder.PopNamespace();
 }
 /// <summary>
 /// Create field
 /// </summary>
 /// <param name="field"></param>
 public EncodeableDataTypeField(DataTypeDefinitionField field)
 {
     Field = field;
 }