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);
   }
 }