code: @Override
      public String getLabel(KamNode kamNode, TermParameter speciesParam) {
          final String nodeLabel = kamNode.getLabel();
  
          // return converted label stored in cache
          String cached = labelCache.get(nodeLabel);
          if (cached != null) {
              return cached;
          }
  
          final Parameter param = convert(speciesParam);
  
          try {
              // find first term and convert to species namespaces
              final List<BelTerm> terms = kAMStore
                      .getSupportingTerms(kamNode);
              if (hasItems(terms)) {
                  final BelTerm term = terms.get(0);
                  final Term ts = BELParser.parseTerm(term.getLabel());
                  final Term converted = convert(ts, param);
  
                  cached = displayLongForm ? converted.toBELLongForm()
                          : converted.toBELShortForm();
                  labelCache.put(nodeLabel, cached);
                  return cached;
              }
  
              // if there are no supporting terms, return node label,
              // should never be true
              return nodeLabel;
          } catch (KAMStoreException e) {
              // error returns original label
              return nodeLabel;
          }
      }
docs: {@inheritDoc}