### Question:
LuceneDocumentStructure { public static Query newRangeSeekByPrefixQuery( String prefix ) { Term term = new Term( ValueEncoding.String.key( 0 ), prefix ); return USE_LUCENE_STANDARD_PREFIX_QUERY ? new PrefixQuery( term ) : new PrefixMultiTermsQuery( term ); } private  LuceneDocumentStructure(); static Document documentRepresentingProperties( long nodeId, Value... values ); static String encodedStringValuesForSampling( Value... values ); static MatchAllDocsQuery newScanQuery(); static Query newSeekQuery( Value... values ); static NumericRangeQuery<Double> newInclusiveNumericRangeSeekQuery( Number lower, Number upper ); static Query newRangeSeekByStringQuery( String lower, boolean includeLower,
            String upper, boolean includeUpper ); static Query newWildCardStringQuery( String searchFor ); static Query newRangeSeekByPrefixQuery( String prefix ); static Query newSuffixStringQuery( String suffix ); static Term newTermForChangeOrRemove( long nodeId ); static long getNodeId( Document from ); static TermsEnum originalTerms( Terms terms, String fieldKey ); static Field encodeValueField( Value value ); static boolean useFieldForUniquenessVerification( String fieldName ); static final String NODE_ID_KEY; static final String DELIMITER; }### Answer:
@Test void shouldBuildRangeSeekByPrefixQueryForStrings() { MultiTermQuery prefixQuery = (MultiTermQuery) LuceneDocumentStructure.newRangeSeekByPrefixQuery( "Prefix" ); assertThat( "Should contain term value", prefixQuery.toString(), containsString( "Prefix" ) ); }