public static List<Code> getSubsumes(ValueSetDefineConceptComponent c) {
    List<Code> res = new ArrayList<Code>();

    for (Extension e : c.getExtensions()) {
      if (EXT_SUBSUMES.equals(e.getUrlSimple())) res.add((Code) e.getValue());
    }
    return res;
  }
 public static Extension makeIssueSource(Source source) {
   Extension ex = new Extension();
   // todo: write this up and get it published with the pack (and handle the redirect?)
   ex.setUrlSimple(ToolingExtensions.EXT_ISSUE_SOURCE);
   Code c = new Code();
   c.setValue(source.toString());
   ex.setValue(c);
   return ex;
 }
 public static boolean findBooleanExtension(Element c, String uri) {
   Extension ex = c.getExtension(uri);
   if (ex == null) return false;
   if (!(ex.getValue() instanceof Boolean)) return false;
   return true;
 }
 public static String readBooleanExtension(Element c, String uri) {
   Extension ex = c.getExtension(uri);
   if (ex == null) return null;
   if (!(ex.getValue() instanceof Boolean)) return null;
   return java.lang.Boolean.toString(((Boolean) ex.getValue()).getValue());
 }
 public static boolean findStringExtension(Element c, String uri) {
   Extension ex = c.getExtension(uri);
   if (ex == null) return false;
   if (!(ex.getValue() instanceof String_)) return false;
   return !Utilities.noString(((String_) ex.getValue()).getValue());
 }
 public static String readStringExtension(Element c, String uri) {
   Extension ex = c.getExtension(uri);
   if (ex == null) return null;
   if (!(ex.getValue() instanceof String_)) return null;
   return ((String_) ex.getValue()).getValue();
 }