STREAM: 2.0

      
**********************************************************************************
*** BUILD 202 (2.0 STREAM, v_202) ************************************************
**********************************************************************************
  
  What's new in this drop
  ================================================================================
  * New AST node for empty statements (org.eclipse.jdt.internal.compiler.ast.EmptyStatement)
  	i.e. 2 more APIs on the AST visitor.
	Note: this was not an official API
  * ISourceElementRequestor notifies enter/exit initializers instead of just acceptInitializer.
	Note: this was not an official API
  * Search in inner-classes now works. Indexes are recomputed automatically on start-up.
  * Removed CodeAssist option for hungry mode (org.eclipse.jdt.core.codeComplete.entireWordReplacement)
  	Client code can decide whether using inferred end position (hungry behavior) or original cursor location (insert behavior)
  	based on the keystroke (enter/insert?).
  	
  PRs Fixed in this Release
  ================================================================================
  1GK2A45: ITPJCORE:WIN2000 - JCK 1.4 - possibly assigned variable after assignment expression when true 
  1GK29Q8: ITPJCORE:WIN2000 - JCK 1.4 - possibly assigned value of a final instance variable after a constant boolean expression when false
  1G52F7P: ITPJCORE:WINNT - Search - finds bogus references to class
  1G4TNX1: ITPJCORE:WINNT - Search - No search anonymous results in inner classes
  1GHW0AZ: ITPJCORE:WINNT - JCK 1.4 - unreachable empty statements
  1GK2BLM: ITPJCORE:WIN2000 - JCK 1.4 - definitely assigned value after the boolean operator ? : when true 
  1GKB28A: ITPJCORE:WIN2000 - Compiler accepts incorrect code
  1FL4T1Q: LFCOM:WINNT - JCK 1.4 - VerifyError due to an illegal jump
  1GK2B6D: ITPJCORE:WIN2000 - JCK 1.4 - definitely assigned value before the second operand of the boolean operator &&
  1GK2AOF: ITPJCORE:WIN2000 - JCK 1.4 - assigned variable before finally block after return statement 
  1GK6WD3: ITPJCORE:WIN2000 - search:no fully qualified references are found
  1GK7231: ITPJCORE:WIN2000 - typos in comments
  1GK77HA: ITPJCORE:WINNT - Search - missing base type references
  1GJY2XN: ITPJUI:WIN2000 - rename type: error when with reference
  1GK1I2J: ITPJCORE:WIN2000 - Broken SourceEnd in ForStatement and WhileStatement
  1GK1HWY: ITPJCORE:WIN2000 - Broken sourceEnd in for Assignment and CompoundAssignment
  1GIIBC3: ITPJCORE:WINNT - search for method references - missing matches
  1GGNOTF: ITPJCORE:WINNT - Search doesn't find method referenced in anonymous inner class
  1GK1GJE: ITPJCORE:ALL - Search - StringOutBoundsException when searching references in JAR

  PRs Closed in this Release
  ===============================================================================
  1GJY3KG: ITPJUI:WIN2000 - NPE in jdt.internal.core.ClassFileInfo
  1GK90H4: ITPJCORE:WIN2000 - search: missing package reference
  1GK8TXE: ITPJCORE:WIN2000 - search: missing field reference
  1GK7K17: ITPJCORE:WIN2000 - search: missing type reference
  1GKCJIL: ITPJCORE:WIN2000 - build exception in 135
  1GK6WP9: ITPJCORE:WIN2000 - seach: missing type reference
  1GJZSBE: ITPJCORE:WINNT - ArrayIndexOutOfBoundsException during rebuild
  1GK7E6S: ITPJCORE:WIN2000 - search: StringIndexOufOfBound
  1GIT857: ITPJCORE:WIN2000 - Performance - Ctrl+S triggers five parser runs
  1GEHCYL: ITPUI:WINNT - Minor: Colon at wrong place in build dialog
  1FLUBRR: JRIDE:WINNT - Problems: instantiating inner classes
  1FLUOJI: JRIDE:WINNT - Problems: vague error message with illegal constructor invocation
  1FLZUG5: JRIDE:WINNT - Problems: invalid expression as statement is not reported
  1FLZV4M: JRIDE:WINNT - Problems: invalid hexa literal number not reported
  1FLZYES: JRIDE:WINNT - Problems: the interface cannot define an initializer is not reported
  1FQVTI1: LFCOM:WINNT - Compiler - No implicit conversion should not generate aconstnull
  1FUZYXT: ITPJCORE:WINNT - JM - Source for Binaries issue
  1FX0LZ0: ITPCOM:ALL - Request for comments preceeding imports & package decls
  1FW8ENP: ITPJUI:WIN98 - JDOM - Deleting import statements from Outline obliterates intervening comments
  1G4PWC7: ITPJCORE:WINNT - Search - No matches with class files
  1G83ZKL: ITPJUI:WINNT - Compiler - unclear error message for a reserved word used as an identifier
  1GF5W1S: ITPJUI:WIN2000 - ClassCastException in LookupEnvironment
  1GKF01S: ITPJCORE:WINNT - Severe: internal error during search
  1GDVFRX: ITPJUI:WIN2000 - CodeCompletion - eats the following word
  1GF67JM: ITPJUI:WIN98 - CodeCompletion - Code-assist consumes next token
  1GCSHAC: ITPJCORE:Inconsistent codeassist behavior
  1GCNBTL: ITPJCORE:ALL - DCR - JM - Provide a way to read JavaCore default options from the plugin.xml file
  1GAJBOU: ITPJUI:WINNT - Code Assist shows matches after ()
  1FW8NV6: ITPJCORE:ALL - DCR - JM - Need API for compiler options
  
**********************************************************************************
*** BUILD 200 (2.0 STREAM, v_200) ************************************************
**********************************************************************************

  What's new in this drop
  ================================================================================
  * Added 2 new APIs on JavaConventions for classpath validation.
         - IJavaModelStatus validateClasspath(IJavaProject project, IClasspathEntry[] classpath, IPath outputLocation) 
         - IJavaModelStatus validateClasspathEntry(IJavaProject project, IClasspathEntry entry, boolean checkSourceAttachment) 
  * Ant Eclipse compiler task added (org.eclipse.jdt.core.ant.Jdtcom)
  * Assertions support enabled: by default the compiler is 1.3 compliant, but it can optionally be turned into source 1.4 mode cf. JavaCore options.
  * More options are surfaced on JavaCore. See JavaCore.getDefaultOptions() for description.
         - ...internal...ConfigurableOption has disappeared.
  * Evaluation in binaries is functional
  * Search for references now finds results in binaries. Indexes in old workspaces are recomputed when restarted 
     which may result in longer startup times.

  PRs Fixed in this Release (since 1.0NL stream)
  ================================================================================
  1GAY5TW: IVJIDT:ALL - Wrong indentation using the formatter and Opening braces begin new line sets to true
  1GEKKUO: ITPJCORE:ALL - JM - Util.readContentsAsBytes(InputStream) doesn't allow for size hint
  1GBRPSJ: ITPJCORE:Options - should surface the code formatter options on JavaCore
  1GJU3YV: ITPJCORE:ALL - ArrayIndexOutOfBoundsException in scanner
  1GJL1R5: ITPJCORE:ALL - NPE in ClassFile.getSourceRange
  1GH49XR: ITPJUI:WIN2000 - Organize Imports inserts bogus import
  1GJU3O8: ITPJCORE:WINNT - type hierarchy: NPE
  1GJIYKP: ITPJCORE:WINNT - type hierarchy - contains unrelated types
  1GITFQR: IVJIDT:WIN2000 - Wrong byte code generation, Inconsistent stack height 1 != 0 error
  1GIHUQP: ITPJCORE:WINNT - search for static field should be more accurate
  1GIT66X: ITPJCORE:WINNT - ClassCastException when calling CodeAssist
  1GJA0WG: ITPJCORE:WINNT - AbortCompilationUnit when doing a Search
  1GH49HW: ITPJUI:WINNT - Search functionality is misleading when viewing source from jar
  1GFXPE5: ITPJUI:ALL - Search for method references broken
  1GFM3X3: ITPJUI:WINNT - Wrong code formatter default for keeping else on same line
  1GHSM7B: ITPJUI:ALL - formatting of anonymous classes
  1GGPVHN: ITPJUI:WIN2000 - Not getting hover Javadoc for ISelection
  1GE2LO2: ITPJCORE:WIN2000 - SourceStart and SourceEnd of synchronized statement
  1GIUTIZ: ITPJCORE:WIN2000 - AST: case statement doesn't cover case keyword
  1GITCCY: ITPJCORE:WIN2000 - AST: strange LocalDeclaration.declarationSourceEnd 
  1GIRQFW: ITPJCORE:WIN2000 - AST: wrong source end if subnode is of type AnnonymousTypeDeclaration
  1GIRHRP: ITPJCORE:WIN2000 - AST: wrong sourceStart and sourceEnd in SynchronizedStatement
  1GHUAUO: ITPJCORE:ALL - Renaming an element in a working copy corrupts the working copy
  1GHUAM1: ITPJCORE:ALL - NPE when renaming an element in a working copy
  1GHDA2V: ITPJCORE:WINNT - ClassCastException when doing a search
  1GFY02B: ITPJUI:ALL - Delete a method and saving introduces extra lines
  1GFOFMD: ITPJUI:WIN2000 - New class should have space between package and class decls
  1GI3R1I: ITPJCORE:WIN2000 - Compilation error evaluating super expression in debugger
  1GII07V: ITPJCORE:WIN2000 - CompilationUnitDeclaration.traverse doesn't call visitor.endVisit
  1GIR345: ITPJCORE:ALL - Indexer: NegativeArraySizeException
  1GIRC23: ITPJCORE:ALL - CodeFormatter brace on new line problem
  1GIT8SA: ITPJCORE:WIN2000 - AST: wrong sourceEnd if action is Block
  1GIUQVL: ITPJCORE:WINNT - IClassPathEntry: java doc incorrect
  1GIVGMH: ITPJUI:ALL - EC: Javadoc hoverhelp incorrectly uses first of multiple comments
  1GIYKSR: ITPJCORE:WIN2000 - Ast: FieldDeclaration.traverse implemeted differently
  1GI3ND5: ITPJCORE:WINNT - Potential optimization during IB problem generation
  1GFBVZH: ITPUI:WIN2000 - ArrayIndexOutOfBoundsException: Java editor
  1GI509E: ITPJCORE:WINNT - IJavaProject.getNonJavaResources returns java and class files
  1GI2WAW: ITPJCORE:WINNT - Too many results for default package
  1GHQZ9H: ITPJUI:ALL - Walkback doing a search
  1GGYT3S: ITPJCORE:WINNT - javaconventions::validatePackageName and default package
  1GF9856: ITPJCORE:WINNT - JM - JavaConventions::validateCompilationUnitName
  1GF822P: ITPJCORE:WIN2000 - NegativeArraySizeException in Parser
  1GI6T4Y: ITPJCORE:WINNT - NPE in JavaModeManager retrieving workspace options
  1GE4ILR: ITPJCORE:ALL - Eval - Evaluation in Binary Project fails
  1GI3LLC: ITPJCORE:ALL - Incorrect formatting for the new keyword
  1GHU6O5: ITPJCORE:WINNT - RMIC test fail
  1GHH6O7: ITPJCORE:ALL - Need to tune the exception analysis for AssertStatement
  1GHUW7T: ITPJCORE:WIN2000 - Build Problem
  1GI3IG9: ITPJCORE:ALL - internal compiler error involving bogus method/field declaration
  1GHU4PK: ITPJCORE:WINNT - NoSuchMethodError when running program
  1GHONAX: ITPJCORE:WIN2000 - Compiler uses different name lookup for refactoring
  1GEJYAJ: ITPJCORE:WIN2000 - Compiler - Binding of QualifiedNameReference is null
  1GHFHWR: ITPJCORE:ALL - Assertions: CodeAssist and Selection need to be updated
  1GHFHXG: ITPJCORE:ALL - Assertions: Add optional warning on assert identifier
  1GCZ9VM: ITPJCORE:WIN2000 - DCR - Compiler - Batch compiler should be API
  1GHO6QR: ITPJCORE:WINNT - Code Assist - no method completion when return type is secondary one
  1GH0AU7: ITPJCORE:ALL - Eval - VerifyError in scrapbook page
  1GH2R62: ITPJCORE:WIN2000 - Typo in progress message
  1GGYL32: ITPJCORE:ALL - Default supertypes are not visible when qualified
  1GDFJK0: IVJIDT:WIN2000 - Using 'synchronized' produces invalid exception table values in class, causes "Illegal exception table range" exception, VAJ 3.5+ 
  1GGAK6G: ITPJCORE:ALL - Incorrect javadoc comment in JavaElement 
  1GF9L3K: ITPDUI:ALL - Eval - Private array resolution failure 
  1GF8KHX: ITPJUI:ALL - Invalid project build path should be warning, not error 
  1GF7JIH: ITPJCORE:ALL - Exception when removing network drive 
  1GEYBL9: ITPJUI:WINNT - Adding source folders on CP is very confusing 
  1GEJAOT: ITPJUI:WINNT - JRE Source attachment set to path to does not exist 
  1GEHZNB: ITPJUI:WINNT - smoke 114: formatter inserts extra tab in first line 
  1GCZZT4: ITPJCORE:Fault-tolerance - missing constructor invocation could still answer the allocated type 
  1GAU96P: ITPJCORE:WINNT - DCR - JM - JavaProject should provide a class path validation method 
  1G7A1TL: ITPJCORE:WINNT - DCR - JM - Rules for classpath not specified 
  1FVVWZT: ITPJCORE:ALL - JM - IBinaryType should implement getSourceFileName() 

  PRs Closed in this Release
  ================================================================================
  1G4GDL3: ITPJUI:WINNT - Outliner, Type Hierarchy - strange members
  1GJY8MH: ITPJCORE:WINNT - No warning marker for use of deprecated members in same class
  1GJWIRA: ITPJCORE:WINNT - ClassCastException occured while compiling in the recovery
  1GIUQ92: ITPJCORE:WINNT - Empty lines added on reorg operations
  1GJ31GB: ITPJCORE:WINNT - Formatter - doesn't line up braces vertically when begin brace on new line
  1GIV9WS: ITPJCORE:WIN2000 - Unexpected compiler behavior
  1GI6VUI: ITPJCORE:WINNT - Source attachment not working anymore in 2.0 stream
  1GIF18T: ITPJCORE:WIN2000 - ArrayIndexOutOfBounds deleting text
  1GF2C3C: ITPJUI:Linux - New class wizard allows illegal character
  1GGRCGZ: ITPJUI:WIN2000 - Can't rename/copy/move/delete default package
  1GDRXHP: ITPDUI:WINNT - NPE inspecting local var
  1G7RAO5: ITPJCORE:ALL - Java Model Core Tests: JavaProjectTests>>testProjectClose() has been removed
  1GF7PZW: ITPJCORE:WINNT - Evaluation - Walkback reporting error on local variable type 
  1GGLNOQ: ITPJCORE:WINNT - @deprecated does not work if it is followed by a TAB - use a space instead. 
  1G295FE: ITPJCORE:ALL - Improve package fragment root management for java project 
  1GFQ3FD: ITPJUI:WINNT - Non java resources do not show up under default package, but do under other packages 
  1GFBJS9: ITPJUI:ALL - Unbound variable path task not removed 
  1GF2LA7: ITPJCORE:WINNT - Adding classpath variable triggers many builds? 
  1GEAHG1: ITPJCORE:WIN2000 - Positions of type and method declarations 
  1GD57YY: ITPJCORE:WINNT - Unhandled exception in standalone compiler 
  1GBPLAP: ITPJUI:WINNT - create class/package not allowed with umlaut 
  1G82CEX: ITPJCORE:Adding evaluation support in debugger 
  1G4GELA: ITPJCORE:WINNT - NPE: after restarting a crashed workbench 
  1G3FV4S: ITPJCORE:WIN - DOMException when renaming constructor 
  1G0K0OI: ITPCORE:ALL - Too many ICompilationUnits 
  1FRTN67: ITPJCORE:ALL - JM - CodeAssist/TypeHierarchy optimization 
  1FJOQSH: LFCOM:WINNT - usage of strictfp modifier 
  1FFYDGD: LFCOM:ALL - Weird behavior on incorrect source 
  1ETNYD2: IVJIDT:AIX - Format code with "Experminent with Code" 
  1ETAM38: IVJIDT:AIX - Code Formatter does not put CR after comment end 
  1GE906O: ITPJCORE:ALL - Having trouble getting projects to build properly - project properties noting getting set correctly 
  1GE6V5W: ITPJCORE:WINNT - Problems saving workspace 
  1GDXCY7: ITPJCORE:WIN2000 - Adding a project to build path doesn't trigger build in dependents 
  1GAM4RI: ITPJCORE:WINNT - Errors did not go away after adding jars to buildpath 
  1GAJBOB: ITPJUI:WINNT - Code Assist continues after entering blank 
  1G4CLZM: ITPJUI:WINNT - 'Import Selection' - Set not found 
  1G47HWU: ITPJUI:WINNT - Method Stub Generation: Error on methods throwing Exceptions 
  1G3H21Z: ITPJCORE:ALL - Package fragment reorganization problems 
  1FWCDYN: ITPJUI:WINNT - resources prematurely made local 
  1FWAPGJ: ITPJCORE:ALL - Synchronization is confusing with Java builder 
  1FW8MAI: ITPCORE:WIN2000 - Compiler does not recompile all the classes 
  1FW6JQG: ITPUI:WINNT - Joining a team may have incorrect classpath 
  1GEAX3R: ITPJCORE:WIN2000 - bad error message for ambiguous references 
  1GDJ1QU: ITPJCORE:WINNT - NPE building project 
  1GD0MLS: ITPJCORE:ALL - Stack traces in log of unknown origin 
  1G0UYOQ: ITPJCORE:ALL - Different text range definitions 
  1GFJ764: ITPJCORE:ALL - Inconpatible conditional operand types 
  1GFBFV7: ITPJCORE:WINNT - Resource copy - should not copy nested internal JARs 
  1GF9OW7: ITPJCORE:ALL - Build silently fails for reappearing deleted classes 
  1GEOY41: ITPJCORE:WINNT - DeltaProcessor - createElements seems bogus 
  1GENY3I: ITPJUI:WINNT - Rename Refactoring introduced compile errors 
  1GEJC08: ITPJCORE:WIN2000 - Assertion failed in builder 
  1GEI1SS: ITPJCORE:ALL - .java file outside of the classpath should be a compilation unit 
  1GE6PGY: ITPJUI:ALL - Wrong class everywhere 
  1GE2UUN: ITPDUI:IndexOutOfBounds during eval? 
  1GE25VE: ITPJUI:WIN2000 - Cannot search on text selection 
  1GDXD7U: ITPJCORE:WINNT - Search not working for projects 
  1GDX5E3: ITPJCORE:WINNT - Assertion failed when rename Java Project 
  1GDTT7B: ITPJCORE:WIN2000 - Classpath extension in jar manifest not respected 
  1GDMMBJ: ITPDUI:WINNT - Stack trace on inspect 
  1GDKLB6: ITPDUI:Linux - Inspect from editor broken in linux 
  1GDJ3BJ: ITPJCORE:WINNT - Error while typing in editor 
  1GDIUMQ: ITPJCORE:WINNT - Build time anomaly when doing incremental builds 
  1GDG971: ITPJCORE:WIN2000 - Classpath changes aren't honored by the builder 
  1GDDWFM: ITPJCORE:WINNT - Builder leaving bogus errors after auto-build + hand build 
  1GDBL1B: ITPJCORE:WIN2000 - Throwable type hierarchy calculation is slow 
  1GD4KY2: ITPJCORE:WINNT - False compile errors not going away when building by hand 
  1GCTG65: ITPJUI:WIN2000 - Classpath file is copied to bin 
  1GCR9MT: ITPJCORE:WINNT - ClassCastException creating a text file 
  1GCP6LR: ITPJUI:WINNT - User must get feedback if .classpath file is manipulated 
  1GCNFC2: ITPJCORE:ALL - ArrayIndeOutOfBoundsException in CodeAssist 
  1GCN2N4: ITPJUI:WIN2000 - Walkback while organizing imports 
  1GCFZPA: ITPJCORE:WINNT - Could SourceRange be public API? 
  1GCFNQR: ITPJCORE:WINNT - How should the path in ITypeNameRequestor be used? 
  1GCBQ2E: ITPJCORE:WINNT - how to efficiently find methods along 'the ripple'? 
  1GBRLSV: ITPJCORE:WIN2000 - Question: how to I find an inner type 
  1GBALN1: ITPJUI:Incorrect source for created class 
  1GAUUQ9: ITPJCORE:WINNT - JavaBuilder doesn't handle internal exceptions during full build 
  1GAP1QC: ITPJCORE:WINNT - JavaProject.configure creates invalid output path 
  1GAML2O: ITPJCORE:WINNT - NPE during start-up 
  1GALZ9N: ITPJCORE:WINNT - Compiler work being done on empty projects 
  1GAJ82M: ITPJUI:WINNT - walkback when delete a jar from a java project 
  1GAH7KH: ITPJCORE:WINNT - Reopened projects show the bin folder as a package 
  1G86704: ITPJUI:WINNT - Drap'nDrop doesn't give operation progress 
  1G840BE: ITPJUI:WINNT - code assist - only some keywords are recognized 
  1G82D17: ITPJCORE:WINNT - getJavaModel(IWorkspace) looks like an accessor but it does creation 
  1G58H14: ITPJCORE:WIN98 - OutOfMemoryException building a big workbench 
  1G4W2XB: ITPJCORE:WIN98 - CodeAssist should not always report an error when no completion was found 
  1G4U1CZ: ITPJCORE:WINNT - JavaDCDuplicateInnerClassName test is failing 
  1G4ENQI: ITPJUI:WIN - NewInterface wizard adds wrong import for inner types 
  1G4CKVG: ITPJCORE:WIN - Can't patch classes in jar 
  1G426W6: ITPJCORE:WINNT - VerifyError running jre Eclipse 010 with the IBM 1.3 VM 
  1G41GH7: ITPJCORE:WINNT - adding a project invokes a recompile 
  1G3T0OO: ITPJCORE:WINNT - Invisible class in all possible super classes 
  1G3MKWT: ITPJCORE:WIN - Would like more progress on java reorg operations 
  1G3DP5Z: ITPJCORE:WIN - IPackageFragment.delete() doesn't delete resources 
  1G31A03: ITPJCORE:WIN98 - Building vs. packaging 
  1G2NW6V: ITPJUI:WIN2000 - Open on selection doesn't work for inner classes 
  1G14M8E: ITPCOM:WINNT - Wrong completion when package name collides with a class name 
  1G03GWJ: ITPJCORE:ALL - TypeHierarchy update tuning 
  1FYEH7R: ITPJCORE:WINNT - CoreException running WorkingCopyTests with autobuild on 
  1FY94XA: ITPJCORE:WINNT - JM - testWorkingCopyGeneral() tests randomly fail 
  1FXOAS3: ITPJCORE:ALL - JDOM - remove deprecated method #findNode 
  1FWYKB2: ITPJCORE:WIN98 - Feature: When I open a class file for a member type... 
  1FWX73S: ITPJCORE:WINNT - Java Builder error when saving html file 
  1FWWU28: ITPJCORE:WIN98 - Cannot access compilation unit - Reason: Java Image Builder 
  1FWUZ9J: ITPJCORE:WINNT - Add autobuilding option to test suite 
  1FWUXTH: ITPJCORE:WINNT - Java Image Builder error message no help 
  1FWT5CP: ITPJCORE:ALL - Disable timestamps assertion failed 
  1FWST7K: ITPJCORE:WINNT - SCENARIO B3 - error saving jsp 
  1FWNLL4: ITPJCORE:WIN2000 - "Editing" internal jar results in ImageBuilderInternalException 
  1FWN24W: ITPSRCEDIT:WIN - Get error message if class not saved - task list out of sync 
  1FWHWGK: ITPJCORE:ALL - javadoc - warnings during javadoc generation 
  1FW6M3U: ITPJCORE:WIN98 - JDOM cannot reproduce "import java. lang. *;" 
  1FVU7O2: ITPJCORE:WINNT - JDOM cannot handle "import java.lang.* " 
  1FVRW2A: ITPJCORE:WIN98 - Source text still accessible after manually deleting file 
  1FVL59P: ITPJUI:WINNT - double clicking on task does not go to right place in source 
  1FVII1P: ITPJCORE:ALL - JDOM - Import names reported by parser do not contain '.*' 
  1FUNPVG: ITPJCORE:ALL - JavaDCChangeFromFullyQualifiedToImportTest1 is failing 
  1FU4P4U: ITPJCORE:ALL - JM - factory should throw detailed exception if unable to create an element 
  1FT78Y7: ITPJCORE:ALL - JM - Reference info is slow 
  1FSZXSX: ITPCOM:WINNT - Do we need FieldEndPosition? 
  1FRKC3T: ITPJCORE:ALL - JM - Incremental Reconciler 
  1FRK6S7: ITPJCORE:ALL - JM - hook for builder to get/put binary types 
  1FPCMAN: ITPJCORE:ALL - JM - Validating Save Operation 
  1GFBCOU: ITPJCORE:WINNT - CodeCompletion - Code assist fails in a method with an incorrect return type
  1GF1VHY: ITPJCORE:ALL - JM - validateFieldName/PackageName should warn if uppercase
  1GEMNE8: ITPJCORE:WIN2000 - JM - JDT DeltaProcessor is very eager
  1FVXJPZ: ITPJCORE:WIN2000 - minor- review error messages


**********************************************************************************
*** BUILD 135 (1.0 STREAM, v_0_134_01_(1*0_stream)_candidate135) *****************
**********************************************************************************

  What's new in this drop
  ================================================================================
  * JCK1.3a compliant. 
  * All messages have been externalized. 

  PRs Fixed in 1.0NL stream (since 0.9)
  ================================================================================
  1GJPBON: ITPUI:WIN2000 - Java search won't detect DBCS 
  1GJPCA9: ITPUI:WIN2000 - incorrect reversed text for search hit in Java search 
  1GJLGAK: ITPUI:WIN2000 - Progress message incorrect
  1GJUN99: ITPJCORE:ALL - NL problems in PLUGINUPDATE.XML, BUILD.XML, PLUGIN.XML 
  1GIRQLA: ITPJCORE:ALL - ClassFormatError for local variable attribute
  1GGCYEU: ITPJCORE:ALL - Using Ant for build skip files
  1GH3218: ITPJUI:WIN - mnuemonic problems
  1GGLLUG: ITPJCORE:WINNT - @deprecated does not work if it is followed by a TAB 
  1GG8T8H: ITPJCORE:ALL - JCK1.3a - dasg04203 - definitely assigned value before the third operand of the conditional operator ? : 
  1GG8T56: ITPJCORE:ALL - JCK1.3a - dasg04103 - definitely assigned value before the second operand of the conditional operator ? : 
  1GG8IIO: ITPJCORE:ALL - JCK1.3a - icls06602 - Outer class fields in parameters of superconstructor call in inner class 
  1GG8IDR: ITPJCORE:ALL - JCK1.3a - lex05404m1 - an unterminated unicode escape. 
  1GG8I5J: ITPJCORE:ALL - JCK1.3a - icls06308 - Invocation of constructor by this can not be qualified. 
  1GG8HBG: ITPJCORE:ALL - JCK1.3a - dasg10004 - no definitely assigned value before the first expression statement in the incrementation part of a for statement 
  1GG8G7Y: ITPJCORE:ALL - JCK1.3a - exec00202m1 - Huge amount of literals overflows constantpool space. 
  1GG8G4G: ITPJCORE:ALL - JCK1.3a - dasg01003 - definitely assigned value after the boolean operator || when true 
  1GG8BWS: ITPJCORE:ALL - JCK1.3a - dasg00603 - definitely assigned value after the boolean operator && when true 
  1G2F1DT: ITPJCORE:WINNT - Error messages non NLS for JavaModelStatus 
  1GEK7SG: ITPJCORE:WIN2000 - CodeCompletion - Code assist failure 
  1GEJDB0: ITPJCORE:WIN2000 - Open on selection doesn't work for types of length 1 
  1GDS4GV: ITPJUI:WIN2000 - Search - implementors of an interface type not found in internal jars 
  1GF6C4M: ITPJUI:WIN2000 - Eval - VerifyError while evaluating expression 
  1GFB94V: ITPJUI:ALL - Deleting a package requires 2 deletes 
  1GFVWDS: ITPJCORE:ALL - Hierarchy - Fail to compute hierarchy on org.eclipse.swt.events.MouseEvent 
  1GF9Y01: ITPCORE:WIN2000 - NPE when deleting everything in a java file and saving it. 
  1G2F1DT: ITPJCORE:WINNT - Error messages non NLS for JavaModelStatu
  1GGCQZ3: ITPJCORE:ALL - NL problems in xml fil  
  1GFIRSN: ITPJCORE:WINNT - Classpath - Should allow nesting in binary output when no source folder in on CP
