}
public boolean isLive(Versionable versionable) throws DotDataException, DotStateException, DotSecurityException {
if(!UtilMethods.isSet(versionable) || !InodeUtils.isSet(versionable.getVersionId()))
return false;
Identifier ident = APILocator.getIdentifierAPI().find(versionable);
if(ident==null || !UtilMethods.isSet(ident.getId()) || !UtilMethods.isSet(ident.getAssetType()))
return false;
String liveInode;
if(ident.getAssetType().equals("contentlet")) {
Contentlet cont = (Contentlet)versionable;
ContentletVersionInfo info = vfac.getContentletVersionInfo(cont.getIdentifier(), cont.getLanguageId());
if(info ==null || !UtilMethods.isSet(info.getIdentifier()))
throw new DotStateException("No version info. Call setWorking first "+ident.getId());
liveInode=info.getLiveInode();
}
else {
VersionInfo info = vfac.getVersionInfo(versionable.getVersionId());
if(!UtilMethods.isSet(info.getIdentifier()))