class TimeManagerStateController extends AbstractModuleStateController {

    @Override
    public void saveState(Node node)
    {
        Document doc = node instanceof Document ? (Document)node : node.getOwnerDocument();
        try
        {
            Node timeNode = (Node)StateXML.newXPath().evaluate("/" + ModuleStateController.STATE_QNAME + "/:time", node,
                    XPathConstants.NODE);
            if (timeNode == null)
            {
                timeNode = StateXML.createElement(doc, "time");
                node.appendChild(timeNode);
            }

            saveCurrentState(timeNode);
            saveHeldState(timeNode);
            saveFadeState(timeNode);
        }
        catch (XPathExpressionException e)
        {
            LOGGER.error(e, e);
        }
    }

    public  TimeManagerStateController(TimeManager timeManager, AnimationManager animationManager);

}