TRINIDAD-2448 Optimize ChangeManager.createDocumentChange() implementation
Currently the implementation of org.apache.myfaces.trinidad.change ChangeManager.createDocumentChange( ComponentChange change) does not account for fact that the supplied ComponentChange implementation can also be implementing DocumentChange. Improvement is to do this check first, type cast the supplied component to DocumentChange and return. 
Thanks to Prakash Udupa for the patch
diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/BaseChangeManager.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/BaseChangeManager.java
index e91bfa7..3437564 100644
--- a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/BaseChangeManager.java
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/BaseChangeManager.java
@@ -130,17 +130,8 @@
   {
     if (supportsDocumentPersistence(facesContext))
     {
-      DocumentChange docChange = null;
-if (compChange instanceof DocumentChange)
-      
-      {
-        docChange = (DocumentChange)compChange;
-      }
-      else
-      {
-        // try to get equivalent DocumentChange from ComponentChange
-        docChange = createDocumentChange(compChange);
-      }
+      // try to get equivalent DocumentChange from ComponentChange
+      DocumentChange docChange = createDocumentChange(compChange);
 
       if (docChange != null)
       {
diff --git a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/ChangeManager.java b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/ChangeManager.java
index 883cd73..7c46a3c 100644
--- a/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/ChangeManager.java
+++ b/trinidad-api/src/main/java/org/apache/myfaces/trinidad/change/ChangeManager.java
@@ -66,6 +66,12 @@
   protected static DocumentChange createDocumentChange(
     ComponentChange change)
   {
+    // the supplied ComponentChange could implement DocumentChange
+    if (change instanceof DocumentChange)
+    {
+      return (DocumentChange)change;
+    }
+    
     Class<? extends ComponentChange> changeClass = change.getClass();
 
     Object converterObject = null;