anchor.diff:  
     rem evict memory related options
     set _new_java_opts=
  -
  -  for /F %%g in ("!_JAVA_OPTS!") do (
  +  set _old_java_opts=!_JAVA_OPTS!
  +:next_java_opt
  +  if "!_old_java_opts!" == "" goto :done_java_opt
  +  for /F "tokens=1,*" %%g in ("!_old_java_opts!") do (
       set "p=%%g"
       if not "!p:~0,4!" == "-Xmx" if not "!p:~0,4!" == "-Xms" if not "!p:~0,15!" == "-XX:MaxPermSize" if not "!p:~0,20!" == "-XX:MaxMetaspaceSize" if not "!p:~0,25!" == "-XX:ReservedCodeCacheSize" (
         set _new_java_opts=!_new_java_opts! %%g
       )
  -  )
  +    set "_old_java_opts=%%h"
  +  )
  +  goto :next_java_opt
  +:done_java_opt
     set _JAVA_OPTS=!_new_java_opts!
   
     set _new_sbt_opts=
  -
  -  for /F %%g in ("!_SBT_OPTS!") do (
  +  set _old_sbt_opts=!_SBT_OPTS!
  +:next_sbt_opt
  +  if "!_old_sbt_opts!" == "" goto :done_sbt_opt
  +  for /F "tokens=1,*" %%g in ("!_old_sbt_opts!") do (
       set "p=%%g"
       if not "!p:~0,4!" == "-Xmx" if not "!p:~0,4!" == "-Xms" if not "!p:~0,15!" == "-XX:MaxPermSize" if not "!p:~0,20!" == "-XX:MaxMetaspaceSize" if not "!p:~0,25!" == "-XX:ReservedCodeCacheSize" (
         set _new_sbt_opts=!_new_sbt_opts! %%g
       )
  -  )
  -
  +    set "_old_sbt_opts=%%h"
  +  )
  +  goto :next_sbt_opt
  +:done_sbt_opt
     set _SBT_OPTS=!_new_sbt_opts!
   
     rem a ham-fisted attempt to move some memory settings in concert
  
positive.code: if exist .sbtopts for /F %%A in (.sbtopts) do (
    set _sbtopts_line=%%A
    if not "!_sbtopts_line:~0,1!" == "#" (
      set _SBT_OPTS=%%A %SBT_OPTS%
    )
  )
  
  
negative.code: 
  if "%g:~0,2%" == "-D" (
    rem special handling for -D since '=' gets parsed away
    echo "%g%" | find "=" > nul
    if ERRORLEVEL 1 (
      if not "%~1" == "" (
        call :dlog [args_loop] -D argument %~0=%~1
  