find S type metadata in metadata list.
metadata
static S? findMetadata<S>(List<Object> metadata) { int index = indexOf(metadata, S); return index != -1 ? metadata[index] as S : null; }