protected IComponentData getComponentData(UIComponent component, String key, Object data) { return emptyComponentData();
public final IComponentData getComponentData(UIComponent component, String componentId) { Object data = componentDatas.get(componentId);  if (data == null) { return emptyComponentData(); }  if (data instanceof IComponentData) { return (IComponentData) data; }  data = getComponentData(component, componentId, data); if (data == null) { return emptyComponentData(); }  componentDatas.put(componentId, data);  return (IComponentData) data;
    protected IComponentData getComponentData(UIComponent component,            String key, Object data) {        return emptyComponentData();    }