see https://github.com/BobHanson/java2script/blob/master/sources/net.sf.j2s.core/src/net/sf/j2s/core/astvisitors/Java2ScriptVisitor.java for full list of changes recent changes in June 2018: // BH 6/25/2018 -- synchronized(a = new Object()) {...} ---> ...; only if an assignment or not a simple function call to Object.getTreeLock() // BH 6/23/2018 -- synchronized(a = new Object()) {...} ---> if(!(a = new Object()) {throw new NullPointerException()}else{...} // BH 6/21/2018 -- CharSequence.subSequence() should be defined both subSequence$I$I and subSequence // BH 6/20/2018 -- fixes for (int var : new int[] {3,4,5}) becoming for var var // BH 6/19/2018 -- adds .j2s j2s.class.replacements=org.apache.log4j.->jalview.javascript.log4j.;