+ * Returns module instance (from the context) with specified namespace and no revision.
+ *
+ * @param namespace module namespace
+ * @return module instance which has name and revision the same as are the values specified in parameters
+ * <code>namespace</code> and no revision.
+ */
+ default Optional<Module> findModule(final @NonNull XMLNamespace namespace) {
+ return findModule(QNameModule.create(namespace));
+ }
+
+ /**
+ * Returns module instance (from the context) with specified namespace and revision.
+ *
+ * @param namespace module namespace
+ * @param revision module revision, may be null
+ * @return module instance which has name and revision the same as are the values specified in parameters
+ * <code>namespace</code> and <code>revision</code>.
+ */
+ default Optional<Module> findModule(final @NonNull XMLNamespace namespace, final @Nullable Revision revision) {
+ return findModule(QNameModule.create(namespace, revision));
+ }
+
+ /**
+ * Returns module instance (from the context) with specified namespace and revision.
+ *
+ * @param namespace module namespace
+ * @param revision module revision, may be null
+ * @return module instance which has name and revision the same as are the values specified in parameters
+ * <code>namespace</code> and <code>revision</code>.
+ */
+ default Optional<Module> findModule(final @NonNull XMLNamespace namespace,
+ final @NonNull Optional<Revision> revision) {
+ return findModule(QNameModule.create(namespace, revision));
+ }
+
+ /**
+ * Returns module instance (from the context) with specified name and an optional revision.