+ * @param requiredSources
+ * a collection of sources which are required to be present
+ * @param statementParserMode
+ * mode of statement parser
+ * @return A checked future, which will produce a schema context, or fail
+ * with an explanation why the creation of the schema context
+ * failed.
+ */
+ default CheckedFuture<SchemaContext, SchemaResolutionException> createSchemaContext(
+ final Collection<SourceIdentifier> requiredSources, final StatementParserMode statementParserMode) {
+ return createSchemaContext(requiredSources, statementParserMode, null);
+ }
+
+ /**
+ * Create a new schema context containing specified sources, pulling in any
+ * dependencies they may have.
+ *
+ * @param requiredSources
+ * a collection of sources which are required to be present
+ * @param supportedFeatures
+ * set of supported features based on which all if-feature statements in the
+ * parsed yang models are resolved
+ * @return A checked future, which will produce a schema context, or fail
+ * with an explanation why the creation of the schema context
+ * failed.
+ */
+ default CheckedFuture<SchemaContext, SchemaResolutionException> createSchemaContext(
+ @Nonnull final Collection<SourceIdentifier> requiredSources, final Set<QName> supportedFeatures) {
+ return createSchemaContext(requiredSources, StatementParserMode.DEFAULT_MODE, supportedFeatures);
+ }
+
+ /**
+ * Create a new schema context containing specified sources, pulling in any
+ * dependencies they may have.
+ *
+ * @param requiredSources
+ * a collection of sources which are required to be present
+ * @param statementParserMode
+ * mode of statement parser
+ * @param supportedFeatures
+ * set of supported features based on which all if-feature statements in the
+ * parsed yang models are resolved
+ * @return A checked future, which will produce a schema context, or fail
+ * with an explanation why the creation of the schema context