@Override
  public void start() throws Exception {
    // backward compatibility with the legacy class name
    Items.XSTREAM.alias(
        "hudson.plugins.sauce_ondemand.SoDBuildWrapper", SauceOnDemandBuildWrapper.class);
    Items.XSTREAM.alias(
        "hudson.plugins.sauce__ondemand.SoDBuildWrapper", SauceOnDemandBuildWrapper.class);
    // the real name must be registered at the end
    Items.XSTREAM.alias(
        "hudson.plugins.sauce_ondemand.SauceOnDemandBuildWrapper", SauceOnDemandBuildWrapper.class);

    load();
    HudsonSauceManagerFactory.getInstance().start();
  }
	public ObjectId saveOrUpdate(DbBackedProject project) {
		String buildXml = Items.XSTREAM.toXML(project);
		BasicDBObject doc = new BasicDBObject("xml", buildXml).append("name", project.getName()).append("parent", project.getIdentifableParent().getId());
		BasicDBObject query = new BasicDBObject("name", project.getName()).append("parent", project.getIdentifableParent().getId());
		return saveOrUpdate(query, doc);
	}