code: @Override
      public List<KamNode> getKamNodes(final Kam kam, FunctionEnum functionType,
              Namespace namespace, String parameterValue) {
          if (parameterValue == null) {
              throw new InvalidArgument("parameterValue", parameterValue);
          }
          if (!exists(kam)) return null;
          List<Integer> ids;
          try {
              ids = kamStoreDao(kam.getKamInfo()).getKamNodeCandidates(
                      functionType, namespace, parameterValue);
              List<KamNode> kamNodeList = new ArrayList<KamNode>(ids.size());
              for (Integer kamNodeId : ids) {
                  kamNodeList.add(kam.findNode(kamNodeId));
              }
              return kamNodeList;
          } 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);
          }
      }
docs: {@inheritDoc}