+ return Collections.unmodifiableList(nodes);
+ }
+
+ /**
+ * Returns the node identified by the given ID.
+ *
+ * @param id
+ * The ID of the node
+ * @return The node with the given ID, or <code>null</code> if no such node
+ * was found
+ */
+ Node getNode(String id) {
+ return idNodes.get(id);
+ }
+
+ /**
+ * Generates a new SSK key pair.
+ *
+ * @return An array with the private key at index <code>0</code> and the
+ * public key at index <code>1</code>
+ * @throws IOException
+ * if an I/O error occurs communicating with the node
+ * @throws JSiteException
+ * if there is a problem with the node
+ */
+ public String[] generateKeyPair() throws IOException, JSiteException {
+ logger.log(Level.FINEST, "generateKeyPair()");
+ if (nodes.isEmpty()) {
+ throw new NoNodeException("no node configured");
+ }
+ return null;