Fix for NLPCRAFT-370.
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCVariant.java b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCVariant.java
index 05fe606..5be2799 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCVariant.java
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/NCVariant.java
@@ -33,14 +33,14 @@
     /**
      * Utility method that returns all non-freeword tokens. It's equivalent to:
      * <pre class="brush: java">
-     *     return stream().filter(tok -&gt; !tok.isFreeWord()).collect(Collectors.toList());
+     *     return stream().filter(tok -&gt; !tok.isFreeWord() && !tok.isStopWord()).collect(Collectors.toList());
      * </pre>
      *
      * @return All non-freeword tokens.
      * @see NCToken#isFreeWord()
      */
     default List<NCToken> getMatchedTokens() {
-        return stream().filter(tok -> !tok.isFreeWord()).collect(Collectors.toList());
+        return stream().filter(tok -> !tok.isFreeWord() && !tok.isStopWord()).collect(Collectors.toList());
     }
 
     /**
@@ -57,13 +57,39 @@
     }
 
     /**
+     * Utility method that returns all abstract tokens. It's equivalent to:
+     * <pre class="brush: java">
+     *     return stream().filter(NCToken::isAbstract).collect(Collectors.toList());
+     * </pre>
+     *
+     * @return All abstract tokens.
+     * @see NCToken#isAbstract() ()
+     */
+    default List<NCToken> getAbstractTokens() {
+        return stream().filter(NCToken::isAbstract).collect(Collectors.toList());
+    }
+
+    /**
+     * Utility method that returns all stop word tokens. It's equivalent to:
+     * <pre class="brush: java">
+     *     return stream().filter(NCToken::isStopWord).collect(Collectors.toList());
+     * </pre>
+     *
+     * @return All stop word tokens.
+     * @see NCToken#isAbstract() ()
+     */
+    default List<NCToken> getStopWordTokens() {
+        return stream().filter(NCToken::isStopWord).collect(Collectors.toList());
+    }
+
+    /**
      * Utility method that returns all user-defined tokens. It's equivalent to:
      * <pre class="brush: java">
      *     return stream().filter(NCToken::isUserDefined).collect(Collectors.toList());
      * </pre>
      *
      * @return All user-defined tokens.
-     * @see NCToken#isFreeWord()
+     * @see NCToken#isUserDefined() ()
      */
     default List<NCToken> getUserDefinedTokens() {
         return stream().filter(NCToken::isUserDefined).collect(Collectors.toList());