+ * Returns all defined networks.
+ *
+ * @return All defined networks
+ */
+ public Collection<Network> networks() {
+ return FluentIterable.from(channels).transform(TO_NETWORK).toSet();
+ }
+
+ /**
+ * Returns all connected networks.
+ *
+ * @return All connected networks
+ */
+ public Collection<Network> connectedNetworks() {
+ return Lists.newArrayList(Optional.presentInstances(FluentIterable.from(networkConnections.values()).transform(new Function<Connection, Optional<Network>>() {
+ @Override
+ public Optional<Network> apply(Connection connection) {
+ return getNetwork(connection);
+ }
+ })));
+ }
+
+ /**