public String getInChIKey(net.bioclipse.core.domain.IMolecule.Property urgency) throws BioclipseException { switch (urgency) { case USE_CACHED: return cachedInchi == null ? "" : cachedInchi.getKey(); case USE_CACHED_OR_CALCULATED: if (cachedInchi != null) { return cachedInchi.getKey(); } case USE_CALCULATED: calculateInchi(); return cachedInchi.getKey(); default: throw new IllegalArgumentException("Unrecognized Property:" + urgency); } }