private static List<Filter> parseFilters(String filters) {
    return Arrays.stream(filters.split("\\s*;\\s*"))
        .map(String::trim)
        .filter(s -> !s.isEmpty())
        .map(FilterUtils::splitToTuple)
        .map(keyAndValue -> new Filter(keyAndValue.getVal1(), splitValues(keyAndValue.getVal2())))
        .collect(Collectors.toList());
  }
private static List < Filter > parseFilters ( String filters ) { return Arrays . stream ( filters . split ( "\\s*;\\s*" ) ) . map ( String :: trim ) . filter ( s -> ! s . isEmpty ( ) ) . map ( FilterUtils :: splitToTuple ) . map ( keyAndValue -> new Filter ( keyAndValue . getVal1 ( ) , splitValues ( keyAndValue . getVal2 ( ) ) ) ) . collect ( Collectors . toList ( ) ) ; }
Parses a filter string into a list of Filter objects that is suitable for
the AWS describeInstances method call.
<p>
<h3>Format:</h3>
<p>
<blockquote>
<p>
<pre>
FILTERS ::= &lt;FILTER&gt; ( ';' &lt;FILTER&gt; )*
FILTER ::= &lt;NAME&gt; '=' &lt;VALUE&gt; (',' &lt;VALUE&gt;)*
</pre>
<p>
</blockquote>
</p>

@param filters the filter string to parse.
@return the list of filters that represent the filter string.