Patch Set 4:

Are you saving Java files? If yes, that explains why you are getting two events as the second event is for the generation of the .class files. Based on your fourth patch set, the resource change event never gets pass the 'if' statement for me. I don't understand why you are getting a non-zero value if your resource delta's resource is the project as the project itself should not have been affected by the file save operation. If you save a non-Java file do you only get one resource change event with a value of zero?