code: private static TermParameter findParameter(final Kam kam,
              final KAMStore kAMStore, final KamNode node, final Set<String> rlocs)
              throws KAMStoreException {
  
          // no resource locations to match against, no match
          if (noItems(rlocs)) {
              return null;
          }
  
          final List<BelTerm> terms = kAMStore.getSupportingTerms(node);
          for (final BelTerm term : terms) {
              final List<TermParameter> params = kAMStore.getTermParameters(
                      kam.getKamInfo(), term);
              for (final TermParameter p : params) {
  
                  // skip empty namespace, continue
                  final Namespace ns = p.getNamespace();
                  if (ns == null) {
                      continue;
                  }
  
                  // if parameter namespace in rlocs, match
                  if (rlocs.contains(ns.getResourceLocation())) {
                      return p;
                  }
              }
          }
  
          return null;
      }
docs: Matches {@link BelTerm terms} for a {@link KamNode node} against a
  species-specific {@link Namespace}.
  
  @param node {@link KamNode} kam node to match
  @param rlocs {@link Set} of {@link String resource location}, matches
  against nodes to find orthologous targets
  @return first species-matching {@link TermParameter term parameter} or
  {@code null} if one could not be found
  @throws InvalidArgument Thrown if {@code node} is null while retrieving
  supporting terms
  @throws KAMStoreException Thrown if the {@link Kam kam} could not be
  determined while retrieving supporting terms or parameters