class PopupDateEditCell extends AbstractPopupEditCell<Date, Date> {

    @Override
    @SuppressWarnings("deprecation")
    protected void startEditing(final Context context,
                                final Element parent,
                                final Date value) {

        // Default date
        Date date = value;
        if (value == null) {
            Date d = new Date();
            int year = d.getYear();
            int month = d.getMonth();
            int dom = d.getDate();
            date = new Date(year,
                            month,
                            dom);
        }
        getDatePicker().setValue(date);

        panel.setPopupPositionAndShow(new PositionCallback() {
            public void setPosition(int offsetWidth,
                                    int offsetHeight) {
                panel.setPopupPosition(parent.getAbsoluteLeft()
                                               + offsetX,
                                       parent.getAbsoluteTop()
                                               + offsetY);
            }
        });
    }

    public  PopupDateEditCell(final boolean isReadOnly);

}