 ; To workaround the limitation described in the comments of this page: http://docs.neo4j.org/chunked/stable/cypher-parameters.html
 (defn- populate-in-clause
   [query in-values]
-  (let [values-1 (s/join (map #(str "'" % "',") in-values))
-        values-2 (.substring values-1 0 (- (.length values-1) 1))]
-    (s/replace query "{in-clause-values}" values-2)))
+  (let [comma-delimited-string-quoted-in-values (s/join "," (map #(str "'" % "'") in-values))]
+    (s/replace query "{in-clause-values}" comma-delimited-string-quoted-in-values)))
 
 (defn- api01-public-alfresco-java-api
   []

                        RETURN n.name as UsedBy, COLLECT(DISTINCT m.name) AS TransactionAPIs
                         ORDER BY n.name
                       ")
        message        (if (empty? res) "" (s/join "\n" (map #(str (get % "UsedBy") " uses " (s/join ", " (get % "TransactionAPIs"))) res)))]
    {
      "STB06" message
      "STB18" message

                        RETURN n.name AS UsedBy, m.name AS AuthenticationUtilAPI
                         ORDER BY n.name
                       ")
        message        (if (empty? res)
                         ""
                         (s/join "\n"
                                   (map #(str (get % "UsedBy")
                                              " uses "
                                              (get % "AuthenticationUtilAPI"))
                                        res)))]
    { "SEC02" message }))

(defn- stb06-stb18-manual-transactions
