code: private void _buildTextMatchBinding(
                      final TextMatchBinding binding,
                      final StringBuilder stmt,
                      final List<Object> params
                      )
      {
          int  size = binding.getText().size();
  
          if (size == 1) {
              String  pattern = _WILDCARD_ + binding.getText().iterator().next() + _WILDCARD_;
              LikeBinding  like = new LikeBinding( binding.getProperty(), pattern );
              _buildLikeBinding( like, stmt, params );
          } else if (size > 1) {
              LogicalBinding  logic = null;
              if (binding.isMatchAll()) {
                  logic = new AndBinding();
              } else {
                  logic = new OrBinding();
              }
              String  prop = binding.getProperty();
              for (String  w : binding.getText()) {
                  String  pattern = _WILDCARD_ + w + _WILDCARD_;
                  LikeBinding  like = new LikeBinding( prop, pattern );
                  logic.addElement( like );
              }
              _buildLogicalBinding( logic, stmt, params );
          } else {
              // size < 1
              throw new IllegalArgumentException( "no text in TextMatchBinding" );
          }
      }
docs: matchAll == true:
  (p LIKE w_1  AND  p LIKE w_2  AND ... AND  p LIKE w_m)
  
  matchAll == false:
  (p LIKE w_1  OR   p LIKE w_2  OR  ... OR   p LIKE w_m)