Buggy code:
wait . until ( presenceOfElementLocated ) ; WebElement element = driver . findElement ( by ) ; if ( element == null ) { throw new EvaluationException ( ( "Can<seq2seq4repair_space>not<seq2seq4repair_space>find<seq2seq4repair_space>element<seq2seq4repair_space>" + by ) ) ; } if ( step . getAction ( ) . equalsIgnoreCase ( "type" ) ) { element . clear ( ) ; if ( ( element . getTagName ( ) . equalsIgnoreCase ( "input" ) ) && ( element . getAttribute ( "type" ) . equalsIgnoreCase ( "file" ) ) ) { String fileName = step . getContent ( ) . replaceAll ( ".*[\\\\//]+([^\\\\//]+)$" , "$1" ) ; InputStream content = find ( fileName ) ; if ( content == null ) { throw new FileNotFoundException ( ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>find<seq2seq4repair_space>file<seq2seq4repair_space>" + fileName ) + "<seq2seq4repair_space>for<seq2seq4repair_space>upload" ) ) ; } try { File file = File . createTempFile ( fileName . replaceAll ( "\\.[^.]+" , "" ) , fileName . replaceAll ( ".*\\.([^.]+)" , "$1" ) ) ; temporaryFiles . add ( file ) ; FileOutputStream output = new FileOutputStream ( file ) ; try { int read = 0 ; byte [ ] buffer = new byte [ 4096 ] ; while ( ( read = content . read ( buffer ) ) != ( - 1 ) ) { output . write ( buffer , 0 , read ) ; } element . sendKeys ( file . getAbsolutePath ( ) ) ; } finally { output . close ( ) ; } } finally { content . close ( ) ; } } else { element . sendKeys ( step . getContent ( ) ) ; } } else if ( step . getAction ( ) . equalsIgnoreCase ( "storeText" ) ) { context . getPipeline ( ) . put ( step . getContent ( ) , element . getText ( ) ) ; } else if ( step . getAction ( ) . equalsIgnoreCase ( "doubleClick" ) ) { Actions action = new Actions ( driver ) ; driver . findElement ( by ) . sendKeys ( "" ) ; action . doubleClick ( element ) . perform ( ) ; } else if ( ( step . getAction ( ) . equalsIgnoreCase ( "waitForElementPresent" ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "verifyElementPresent" ) ) ) { } else if ( ( ( ( ( step . getAction ( ) . equalsIgnoreCase ( "verifyText" ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "assertText" ) ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "verifyAttribute" ) ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "assertAttribute" ) ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "waitForText" ) ) ) { boolean fail = step . getAction ( ) . startsWith ( "assert" ) ; String type = step . getAction ( ) . replaceAll ( "^(wait|verify|assert)" , "" ) . toLowerCase ( ) ; String text = ( attribute == null ) ? element . getText ( ) : element . getAttribute ( attribute ) ; String validateMessage = ( lastComment == null ) ? ( ( "Verify<seq2seq4repair_space>presence<seq2seq4repair_space>of<seq2seq4repair_space>" + type ) + "<seq2seq4repair_space>in<seq2seq4repair_space>" ) + ( step . getTarget ( ) ) : lastComment ; lastComment = null ; <START_BUG> if ( step . getTarget ( ) . contains ( "*" ) ) { <END_BUG> boolean matches = text . matches ( ( ( ".*" + ( step . getContent ( ) . replaceAll ( "\\*" , ".*" ) ) ) + ".*" ) ) ; TestMethods . check ( validateMessage , matches , ( matches ? step . getContent ( ) : ( text + "<seq2seq4repair_space>!~<seq2seq4repair_space>" ) + ( step . getContent ( ) ) ) , fail ) ; } else { boolean contains = text . contains ( step . getContent ( ) ) ; TestMethods . check ( validateMessage , contains , ( contains ? step . getContent ( ) : ( text + "<seq2seq4repair_space>!#<seq2seq4repair_space>" ) + ( step . getContent ( ) ) ) , fail ) ; } } else if ( ( ( ( step . getAction ( ) . equalsIgnoreCase ( "verifyNotText" ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "assertNotText" ) ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "verifyNotAttribute" ) ) ) || ( step . getAction ( ) . equalsIgnoreCase ( "assertNotAttribute" ) ) ) { String type = step . getAction ( ) . replaceAll ( "^(verify|assert)Not" , "" ) . toLowerCase ( ) ; String validateMessage = ( lastComment == null ) ? ( ( "Verify<seq2seq4repair_space>presence<seq2seq4repair_space>of<seq2seq4repair_space>" + type ) + "<seq2seq4repair_space>in<seq2seq4repair_space>" ) + ( step . getTarget ( ) ) : lastComment ; lastComment = null ; TestMethods . check ( validateMessage , ( ! ( element . getText ( ) . contains ( step . getContent ( ) ) ) ) , step . getContent ( ) , step . getAction ( ) . startsWith ( "assert" ) ) ; } else if ( step . getAction ( ) . equalsIgnoreCase ( "clickAndWait" ) ) { element . click ( ) ; try { Thread . sleep ( ( ( ( step . getContent ( ) ) == null ) || ( step . getContent ( ) . isEmpty ( ) ) ? this . sleep : new Long ( step . getContent ( ) ) ) ) ; } catch ( InterruptedException e ) { } } else if ( ( step . getAction ( ) . equalsIgnoreCase ( "click" ) ) || ( ( step . getAction ( ) . equalsIgnoreCase ( "clickAt" ) ) && ( ( ( step . getContent ( ) ) == null ) || ( step . getContent ( ) . trim ( ) . isEmpty ( ) ) ) ) ) { element . click ( ) ; }

Fix:
if ( step . getContent ( ) . contains ( "*" ) ) {