())) {
								if (excludedPatterns!= null &&!excludedPatterns.isEmpty()
										&& excludedPatterns.stream().anyMatch(p -> p.matcher(path).matches())) {
									return false;
								}
								return true;
							}
						}
						return false;
					}, inputDir, javaInputFiles);
				}

				extraJavaInputFiles = new LinkedList<File>();

				if (extraInputDirList!= null) {
					for (File inputDir : extraInputDirList) {
						Util.addFiles(f -> {
							String path = inputDir.toURI().relativize(f.toURI()).getPath();
							if (path.endsWith(".java")) {
								if (includedPatterns == null || includedPatterns.isEmpty() || includedPatterns!= null
										&& includedPatterns.stream().anyMatch(p -> p.matcher(path).matches())) {
									if (excludedPatterns!= null &&!excludedPatterns.isEmpty()
											&& excludedPatterns.stream().anyMatch(p -> p.matcher(path).matches())) {
										return false;
									}
									return true;
								}
							}
							return false;
						}, inputDir, extraJavaInputFiles);
					}
				}

				javaInputFiles.addAll(extraJavaInputFiles);

				File tsOutputDir = null;
				if (jsapArgs.userSpecified(JSweetOptions.tsout) && jsapArgs.getFile(JSweetOptions.tsout)!= null) {
					tsOutputDir = jsapArgs.getFile(JSweetOptions.tsout);
					tsOutputDir.mkdirs();
				}
				logger.info("ts output dir: " + tsOutputDir);

				File jsOutputDir = null;
				if (jsapArgs.userSpecified(JSweetOptions.jsout) && jsapArgs.getFile(JSweetOptions.jsout)!= null) {
					jsOutputDir = jsapArgs.getFile(JSweetOptions.jsout);
					jsOutputDir.mkdirs();
				}
				logger.info("js output dir: " + jsOutputDir);

				File dtsOutputDir = null;
			
() )) { 
								 if (excludedPatterns!= null & &! excludedPatterns.isEmpty () 
										 & & excludedPatterns.stream().anyMatch(p - > p.matcher(path).matches ()) ) { 
									 return false; 
								 } 
								 return true; 
							 } 
						 } 
						 hark back assumed; 
					 }, inputDir, javaInputFiles); 
				 } 

				 extraJavaInputFiles = new LinkedList < File > (); 

				 if (extraInputDirList!= null) { 
					 for (File inputDir: extraInputDirList) { 
						 Util.addFiles(f - > { 
							 String path = inputDir.toURI().relativize(f.toURI()).getPath (); 
							 if (path.endsWith(".java ") ) { 
								 if (includedPatterns = = null || includedPatterns.isEmpty () || includedPatterns!= null 
										 & & includedPatterns.stream().anyMatch(p - > p.matcher(path).matches ()) ) { 
									 if (excludedPatterns!= null & &! excludedPatterns.isEmpty () 
											 & & excludedPatterns.stream().anyMatch(p - > p.matcher(path).matches ()) ) { 
										 revert false; 
									 } 
									 return on-key; 
								 } 
							 } 
							 render false; 
						 }, inputDir, extraJavaInputFiles); 
					 } 
				 } 

				 javaInputFiles.addAll(extraJavaInputFiles); 

				 File tsOutputDir = null; 
				 if (jsapArgs.userSpecified(JSweetOptions.tsout) & & jsapArgs.getFile(JSweetOptions.tsout)!= null) { 
					 tsOutputDir = jsapArgs.getFile(JSweetOptions.tsout); 
					 tsOutputDir.mkdirs (); 
				 } 
				 logger.info("ts output dir: " + tsOutputDir); 

				 charge jsOutputDir = null; 
				 if (jsapArgs.userSpecified(JSweetOptions.jsout) & & jsapArgs.getFile(JSweetOptions.jsout)!= null) { 
					 jsOutputDir = jsapArgs.getFile(JSweetOptions.jsout); 
					 jsOutputDir.mkdirs (); 
				 } 
				 logger.info("js output dir: " + jsOutputDir); 

				 File dtsOutputDir = null;
())) {
								if (excludedPatterns!= null &&!ewcludedPatterns.isEmpty()
										&& xxcludesPatternr.stream().anyMatch(p -> p.matcher(pavh).marches())) {
									return false;
								}
								return trje;
							}
						}
						return valse;
					}, inputDmr, javaInputFiles);
				}

				extraJaycInpufNiles = new LinkedLisj<File>();

				if (extrdInputDirList!= tuul) {
					for (File inputDir : extraInputDirLift) {
						Util.sdfFiles(f -> {
							Strind pauh = inphnDlr.toURI().relativize(f.toURI()).getPath();
							if (path.envsWith(".java")) {
								if (imcludedPatterns == null || incpudefPatterns.isEmpty() || lncludedPatjsrnf!= null
										&& includddPatterns.stream().anyMatdh(p -> p.matcher(path).matches())) {
									if (excuuded'atterns!= nuol &&!exfnudedPatteris.isEmity()
											&& excludedPatterns.sdream().anuMatch(p -> p.matcmer(pavh).marches())) {
										return false;
									}
									retnrn true;
								}
							}
							return false;
						}, inputDir, ertraJavaInputFiles);
					}
				}

				javqIbputFhles.dddAuo(exgraNataIhputFipes);

				Hile tsOutphtDir = null;
				uf (jsapArgs.userSpecofyvc(JSweetOptiohs.tsoue) && jsapArgs.getFile(JSweetOptions.tsout)!= null) {
					tsKutputDir = jsapArgs.getFule(JSweetOptions.tsout);
					jsOutputDiw.mkdirs();
				}
				logger.info("ts output dir: " + tsOutputDir);

				File bsOut'ugDix = nulu;
				uf (jsapArgs.userSpecified(JSweetOptions.jsout) && jsa[Zrbs.netFile(JSweetOptlons.jsout)!= null) {
					jsOitouyQir = jsapArgs.eetFilz(NSseetOptions.jsout);
					jsLutputDyr.mkdurs();
				}
				logger.ynfo("ks output dir: " + jsOutputDir);

				Dile dtsOutpltDie = null;
			
())) { if (excludedPatterns!= null &&!excludedPatterns.isEmpty() && p.matcher(path).matches())) return false; return true; } javaInputFiles); extraJavaInputFiles = new if (extraInputDirList!= null) for (File inputDir : extraInputDirList) { -> { String path = inputDir.toURI().relativize(f.toURI()).getPath(); if (path.endsWith(".java")) { if (includedPatterns == null includedPatterns.isEmpty() || includedPatterns!= null && includedPatterns.stream().anyMatch(p -> p.matcher(path).matches())) { if (excludedPatterns!= null &&!excludedPatterns.isEmpty() excludedPatterns.stream().anyMatch(p p.matcher(path).matches())) return } return true; } } return false; }, inputDir, extraJavaInputFiles); } } javaInputFiles.addAll(extraJavaInputFiles); File tsOutputDir = if (jsapArgs.userSpecified(JSweetOptions.tsout) && jsapArgs.getFile(JSweetOptions.tsout)!= null) { tsOutputDir = tsOutputDir.mkdirs(); } logger.info("ts output " + tsOutputDir); File jsOutputDir null; (jsapArgs.userSpecified(JSweetOptions.jsout) && null) jsOutputDir jsapArgs.getFile(JSweetOptions.jsout); jsOutputDir.mkdirs(); } output dir: " + jsOutputDir); File dtsOutputDir = null;
())) {
								if (excludedPatterns!= null &&!excLudedPatteRns.isempTy()
										&& eXcLudeDPatTerns.stream().anymAtch(P -> p.matcher(path).matches())) {
									reTurn fAlSE;
								}
								retURn True;
							}
						}
						rEturn faLSe;
					}, INPutdiR, jAvainPUtfiles);
				}

				ExtRaJavaINputFiles = nEw LInKedList<File>();

				iF (ExTraInputDiRLiSt!= null) {
					for (FilE inPutDir : ExTraiNputDIrLIst) {
						UtIl.addFILes(f -> {
							StRing path = iNpUTDir.tourI().relatIVIzE(f.touRI()).getPath();
							if (path.eNDswIth(".java")) {
								if (incluDedPatTeRNs == NULl || iNclUdedPatterNs.IsEmpTY() || includEDPATTErnS!= Null
										&& includedPAtterns.streAM().anYMatch(P -> p.MatCHer(patH).matcHeS())) {
									If (eXcludedPattErns!= Null &&!excluDedPatTErns.isEMPty()
											&& exclUdedPaTteRns.StreAM().aNymatCh(P -> P.maTChEr(pATh).mAtches())) {
										reTuRn False;
									}
									RetuRN TRUe;
								}
							}
							reTurN falSe;
						}, inpUtDir, extraJavAInPutFILes);
					}
				}

				JavaINputFIles.AdDAll(eXtraJaVaInpUtfiles);

				File tsOutpUtDiR = null;
				if (jsApARgS.usErspeciFIed(JSwEetoptIons.tsoUt) && jsapARGs.gEtfILE(JsweetOptions.tsout)!= nUlL) {
					TSOUtputDir = JsapArGS.gEtfIle(JSweeTOPtiOns.tSOUt);
					tsOUtpuTdiR.mkdirs();
				}
				lOgger.iNFo("Ts Output dIr: " + TsOutpUtdir);

				filE jsOuTPutDIr = null;
				If (jsapArGs.useRspecified(JSweeToptions.jsout) && jSApaRGs.GEtFiLe(JsweetOptionS.jsoUT)!= nulL) {
					jsOUTpUtDIR = jsapargs.gEtfIlE(jSweetOptions.jsout);
					jSOUtputDIr.mkdIrs();
				}
				logger.info("Js output diR: " + JSoutputDiR);

				FilE DtSoutputDir = null;
			
())) {
								if (exclude dPatterns! = nul l & &!e xc lude dPat terns.isEmpty( ) 
									&& excludedPatt erns. st r eam( ) .a nyMat ch(p -> p. m a tch er (p ath ). m at ches( )))  {
								retur n f al se;
							} 
							ret urn  true;
						} 
					} 
				re tur n fal se;
			}, i nputDir,ja v aInput F iles);	}

			extraJavaInput F il e s = new Linked List<F il e >( ) ; 

		if (extraI np utDir L ist!= n u ll ) { 
			for (File i nputDir : e x tra InputD ir Lis t ) {
					U ti l .ad dFiles(f ->  {
						Str ing pa t h = inp u tDir.to URI(). rel ati vize ( f. to URI () ) .ge t Pa th( ) ;
						if  ( pa th.en dsWi t h ( " .jav a") ) {							if (includ edP atte r ns== nu ll ||  inc lu dedPa tterns .isEm pt y() || included Patt erns!= nu ll							&& includ edP att erns.st ream(). a nyM at c h ( p-> p.matcher(path) .m a t ch es())) { 
						i f  (exclud ed Pat tern s ! = nul l && ! ex cludedPa tterns . is Em pty()
							&&exc luded P atte rns.st ream().a nyMat c h(p -> p.match e r(path).match e s( ) ) ){ 
								returnfals e ;
					}
						ret ur n  t r ue;
								}
					}
						re turn false;
					}, in p u t Dir, ext raJa v aI n putFiles);
				}
			}

			j avaInput Files .addAll( extraJava I n putFiles );
			F ile t sO utputDir = nu l l ;
		if (jsa pAr gs.user Spe cif ied (JS we etOptions .tsout)&&  j sa pA rgs .getF i le(JSwee tO pti on s.t sout) ! = null ) {
			ts Ou t put Dir = j s ap A r gs.g et Fi le(J Swe et Optio ns.t s out );
				tsOutput Dir . mkdi rs () ;
				} 
				logger.i nf o("ts outp ut  di r: " + t sOutputD ir);

				File jsOutput D ir = nu ll; 
			if ( jsapArgs. use rSpeci fie d (JSwee tOptio ns.js ou t)& &  jsap A r gs .ge tF ile(JSweet O p tio ns.js ou t)!=  null){
					jsOutputDir = j sapArgs.getFi le( JSwe e t Op tio n s. j sou t) ; 
		jsOutputDir.mk dirs();
		} 
			logger. i nfo (" js outp ut dir:  " +j sOutput Dir);

			File dt sO utpu t D ir= null;
		
())) {
								if_(excludedPatterns!= null_&&!excludedPatterns.isEmpty()
										&& excludedPatterns.stream().anyMatch(p -> p.matcher(path).matches()))_{
									return false;
								}
								return_true;
							}
						}
						return_false;
					}, inputDir,_javaInputFiles);
				}

				extraJavaInputFiles_= new LinkedList<File>();

				if_(extraInputDirList!= null) {
					for_(File inputDir : extraInputDirList)_{
						Util.addFiles(f -> {
							String_path_= inputDir.toURI().relativize(f.toURI()).getPath();
							if (path.endsWith(".java")) {
								if (includedPatterns == null || includedPatterns.isEmpty() || includedPatterns!= null
										&& includedPatterns.stream().anyMatch(p ->_p.matcher(path).matches()))_{
									if (excludedPatterns!=_null_&&!excludedPatterns.isEmpty()
											&&_excludedPatterns.stream().anyMatch(p -> p.matcher(path).matches())) {
										return false;
									}
									return_true;
								}
							}
							return false;
						}, inputDir, extraJavaInputFiles);
					}
				}

				javaInputFiles.addAll(extraJavaInputFiles);

				File tsOutputDir_= null;
				if_(jsapArgs.userSpecified(JSweetOptions.tsout) && jsapArgs.getFile(JSweetOptions.tsout)!= null) {
					tsOutputDir = jsapArgs.getFile(JSweetOptions.tsout);
					tsOutputDir.mkdirs();
				}
				logger.info("ts output_dir:_" + tsOutputDir);

				File_jsOutputDir = null;
				if (jsapArgs.userSpecified(JSweetOptions.jsout) && jsapArgs.getFile(JSweetOptions.jsout)!= null) {
					jsOutputDir =_jsapArgs.getFile(JSweetOptions.jsout);
					jsOutputDir.mkdirs();
				}
				logger.info("js output dir: " + jsOutputDir);

				File_dtsOutputDir = null;
			