code: @Override
      public List<KamNode> getKamNodes(final Kam kam, final KamNode example) {
          if (kam == null) {
              throw new InvalidArgument("kam", kam);
          }
  
          if (example == null) {
              throw new InvalidArgument("example", example);
          }
          if (!exists(kam)) return null;
          List<KamNode> kamNodeList = new ArrayList<KamNode>();
          try {
              final KAMStoreDao ksdao = kamStoreDao(kam.getKamInfo());
              List<Integer> kamNodeIdMatches =
                      ksdao.getKamNodeCandidates(example);
              for (Integer kamNodeId : kamNodeIdMatches) {
                  kamNodeList.add(kam.findNode(kamNodeId));
              }
          } catch (SQLException e) {
              final String fmt = "error getting KAM nodes for %s";
              final String msg = format(fmt, kam.getKamInfo().getName());
              throw new KAMStoreException(msg, e);
          }
          return kamNodeList;
      }
docs: {@inheritDoc}