code: @Override
      public List<Citation> getCitations(KamHandle kamHandle,
              CitationType citationType,
              List<String> valueList, BelDocument belDocument)
              throws KamStoreServiceException {
          List<Citation> list = new ArrayList<Citation>();
          final String handle = kamHandle.getHandle();
  
          try {
              org.openbel.framework.api.Kam objKam;
              objKam = kamCacheService.getKam(handle);
              if (objKam == null) {
                  throw new KamStoreServiceException(format(
                          KAM_REQUEST_NO_KAM_FOR_HANDLE, kamHandle.getHandle()));
              }
  
              org.openbel.framework.common.enums.CitationType citation;
              citation = convert(citationType);
  
              KamInfo ki = objKam.getKamInfo();
              List<org.openbel.framework.api.internal.KAMStoreDaoImpl.Citation> citations;
              if (belDocument != null) {
                  BelDocumentInfo info;
                  try {
                      info = convert(belDocument);
                  } catch (InvalidIdException e) {
                      throw new KamStoreServiceException(
                              "Error processing Bel document", e);
                  }
  
                  citations = kAMStore.getCitations(ki, info, citation);
              } else if (hasItems(valueList)) {
                  String[] valueArr = valueList.toArray(new String[0]);
                  citations = kAMStore.getCitations(ki, citation, valueArr);
              } else {
                  citations = kAMStore.getCitations(ki, citation);
              }
  
              for (org.openbel.framework.api.internal.KAMStoreDaoImpl.Citation c : citations) {
                  Citation c2 = convert(c);
                  list.add(c2);
              }
          } catch (KAMStoreException e) {
              logger.warn(e.getMessage());
              throw new KamStoreServiceException(e);
          }
  
          return list;
  
      }
docs: {@inheritDoc}