[551214] Add documentation about post-processed J9 JVM finalizer roots

Change-Id: I0029e2f5d5906b4824cd3218268f494cc50bc251
diff --git a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/finalizer/annotations.properties b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/finalizer/annotations.properties
index 161faa3..b11ca80 100644
--- a/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/finalizer/annotations.properties
+++ b/plugins/org.eclipse.mat.api/src/org/eclipse/mat/inspections/finalizer/annotations.properties
@@ -29,7 +29,12 @@
 avoid finalizers. Long running tasks in the finalizer can block garbage \
 collection, because the memory can only be freed after the finalize method finished.\
 This query shows the the finalizer currently processed, the finalizer queue, \
-the demon finalizer thread or threads and the thread local variables.
+the demon finalizer thread or threads and the thread local variables.\n\n\
+Note: On J9 JVM-based dumps (e.g. IBM Java, OpenJ9), the Finalizer Queue list shows objects waiting \
+to be finalized and those which have already been finalized and are waiting to be \
+garbage collected. This query does not provide a way to differentiate the two \
+(because DTFJ doesn't), although you may be able to differentiate based on object \
+fields (e.g. a "closed" boolean field, etc.).
 
 FinalizerQueueQuery.name = Finalizer Queue
 FinalizerQueueQuery.help = Extract objects in the Finalizer Queue.\n\n\
@@ -41,7 +46,12 @@
 Be aware that there could be many reasons for a full finalizer queue: \
 the currently processed object could be blocking or long running \
 (please use our finalizer in processing query to check) or the application \
-made use of too many objects with finalize() which are queueing up in memory.
+made use of too many objects with finalize() which are queueing up in memory.\n\n\
+Note: On J9 JVM-based dumps (e.g. IBM Java, OpenJ9), this list shows objects waiting \
+to be finalized and those which have already been finalized and are waiting to be \
+garbage collected. This query does not provide a way to differentiate the two \
+(because DTFJ doesn't), although you may be able to differentiate based on object \
+fields (e.g. a "closed" boolean field, etc.).
 FinalizerQueueQuery.mode.help = Whether to display the objects as a list, histogram or both.
 
 FinalizerThreadLocalsQuery.name = Finalizer Thread Locals
diff --git a/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.dita b/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.dita
index 0c84902..e67ced1 100644
--- a/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.dita
+++ b/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.dita
@@ -53,7 +53,7 @@
 								<ul>

 									<li>it is blocking</li>

 									<li>it is long running</li>

-									<li> it the finalizer queue was or is still full.</li>

+									<li>the finalizer queue was or is still full.</li>

 								</ul>

 								<p> Use the finalizer queue query to check the queue.</p>

 							</entry>

@@ -72,6 +72,13 @@
 									<li> The application made use of too many objects with

 										finalize() which are queued up in memory.</li>

 								</ul>

+								<p>Note: On J9 JVM-based dumps (e.g. IBM Java, OpenJ9), this

+								   list shows objects waiting to be finalized and those

+								   which have already been finalized and are waiting to be

+								   garbage collected. This query does not provide a way to

+								   differentiate the two (because DTFJ doesn't), although you may 

+								   be able to differentiate based on object fields

+								   (e.g. a "closed" boolean field, etc.).</p>

 								<p> Additionally a class-level summary of the objects is provided</p>

 							</entry>

 						</row>

diff --git a/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.html b/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.html
index 88381f1..7d091e5 100644
--- a/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.html
+++ b/plugins/org.eclipse.mat.ui.help/tasks/analyzingfinalizer.html
@@ -53,7 +53,7 @@
 
 									<li class="li">it is long running</li>
 
-									<li class="li"> it the finalizer queue was or is still full.</li>
+									<li class="li">the finalizer queue was or is still full.</li>
 
 								</ul>
 
@@ -82,6 +82,14 @@
 
 								</ul>
 
+								<p class="p">Note: On J9 JVM-based dumps (e.g. IBM Java, OpenJ9), this
+								   list shows objects waiting to be finalized and those
+								   which have already been finalized and are waiting to be
+								   garbage collected. This query does not provide a way to
+								   differentiate the two (because DTFJ doesn't), although you may 
+								   be able to differentiate based on object fields
+								   (e.g. a "closed" boolean field, etc.).</p>
+
 								<p class="p"> Additionally a class-level summary of the objects is provided</p>
 
 							</td>