Add method createFromSource and getExtension (by content type)