if (!cycle.isRewinding()) { Phone phone = getPhone();
    protected void renderComponent(IMarkupWriter writer, IRequestCycle cycle) {                if (!cycle.isRewinding()) {            Phone phone = getPhone();                    if (getGroupsString() == null) {                setGroupsString(phone.getGroupsNames());            }        }                super.renderComponent(writer, cycle);                if (cycle.isRewinding()) {            Phone phone = getPhone();                    // Don't take any actions if the page is not valid            if (!TapestryUtils.isValid((AbstractPage) getPage())) {                return;            }            String groupsString = getGroupsString();            if (groupsString != null) {                List groups = getSettingDao().getGroupsByString(Phone.GROUP_RESOURCE_ID, groupsString);                phone.setGroupsAsList(groups);            }        }    }