Yes, 
but it is a protected method in UIWidget class, developers would not use this method.
UIWidget will call this virtual method to get the "right instance" of sub class. If I use create() method, I cannot complete this work.
See,
UIWidget* UIWidget::clone()
{
    UIWidget* clonedWidget = createCloneInstance();
    clonedWidget->copyProperties(this);
    clonedWidget->copyClonedWidgetChildren(this);
    return clonedWidget;
}

step1: Gets a "right instance".
step2: Copies properties for the "right instance".
step3: Copies self children to the "right instance".