@Override public IAtsVersion store(IAtsVersion version, IAtsTeamDefinition teamDef) { Conditions.checkNotNull(version, "version"); Conditions.checkNotNull(teamDef, "teamDef"); Conditions.checkNotNull(teamDef.getStoreObject(), "teamDef storeObject"); IAtsVersion result = version; if (version.getStoreObject() == null) { Artifact verArt = cacheProvider.get().getArtifact(version); if (verArt == null) { AtsChangeSet changes = new AtsChangeSet("Create " + version); VersionArtifactWriter writer = new VersionArtifactWriter(); verArt = writer.store(version, cacheProvider.get(), changes); changes.relate(teamDef, AtsRelationTypes.TeamDefinitionToVersion_Version, verArt); version.setStoreObject(verArt); changes.execute(); } } return result; }