Como posso criar um repetidor personalizado que exibe Cabeçalho, Rodapé com base nas propriedades?

Desejo criar um repetidor que exiba o cabeçalho / rodapé com base nas propriedades, apenas se oDataSource está vazia.

public class Repeater : System.Web.UI.WebControls.Repeater
{
    public bool ShowHeaderOnEmpty { get; set; }
    public bool ShowFooterOnEmpty { get; set; }

    [DefaultValue((string)null),
    PersistenceMode(PersistenceMode.InnerProperty),
    TemplateContainer(typeof(System.Web.UI.WebControls.RepeaterItem)),
    Browsable(false)]
    public ITemplate EmptyTemplate { get; set; }
}

Eu também quero criar umEmptyTemplate, se oDataSource está vazio exibir este modelo ...

Não faço ideia de como implementar isso. O que devo substituir para alcançar esse comportamento?