Deprecate functions that duplicate functionality

DrawingGroupRecord#processChildRecords and AbstractEscherHolderRecord#convertRawBytesToEscherRecords duplicate the functionality of AbstractEscherHolderRecord#decode. This makes the code harder to follow, as it is not clear when certain access patterns repeat. Accordingly, these functions are deprecated and flagged for removal.

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1887021 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/poi/hssf/model/InternalWorkbook.java b/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
index c5703df..d49f256 100644
--- a/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
+++ b/src/java/org/apache/poi/hssf/model/InternalWorkbook.java
@@ -1840,7 +1840,7 @@
                 continue;
             }
             DrawingGroupRecord dg = (DrawingGroupRecord)r;
-            dg.processChildRecords();
+            dg.decode();
             drawingManager = findDrawingManager(dg, escherBSERecords);
             if (drawingManager != null) {
                 return drawingManager;
diff --git a/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java b/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
index 48d7505..0132e27 100644
--- a/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
+++ b/src/java/org/apache/poi/hssf/record/AbstractEscherHolderRecord.java
@@ -27,6 +27,7 @@
 import org.apache.poi.ddf.NullEscherSerializationListener;
 import org.apache.poi.hssf.util.LazilyConcatenatedByteArray;
 import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.Removal;
 
 /**
  * The escher container record is used to hold escher records.  It is abstract and
@@ -63,10 +64,17 @@
         }
     }
 
+    /**
+     * @deprecated Call {@link #decode()} instead.
+     */
+    @Removal(version = "5.3")
+    @Deprecated
     protected void convertRawBytesToEscherRecords() {
+        // decode() does a check to see if raw bytes have already been interpreted. In the case that we did not eagerly
+        //  interpret the bytes due to DESERIALIZE being false, decode() will interpret the bytes. If we did already
+        //  interpret the bytes due to DESERIALIZE being true, decode skips doing the work again.
         if (!DESERIALIZE) {
-            byte[] rawData = getRawData();
-        	convertToEscherRecords(0, rawData.length, rawData);
+            decode();
         }
     }
     private void convertToEscherRecords( int offset, int size, byte[] data )
diff --git a/src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java b/src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java
index 68c8c24..4dbbb70 100644
--- a/src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java
+++ b/src/java/org/apache/poi/hssf/record/DrawingGroupRecord.java
@@ -25,6 +25,7 @@
 import org.apache.poi.ddf.EscherRecordTypes;
 import org.apache.poi.ddf.NullEscherSerializationListener;
 import org.apache.poi.util.LittleEndian;
+import org.apache.poi.util.Removal;
 
 /**
  * Specifies a group of drawing objects.
@@ -81,9 +82,13 @@
      * (Not done by default in case we break things,
      *  unless you set the "poi.deserialize.escher"
      *  system property)
+     *
+     * @deprecated Call {@link #decode()} instead.
      */
+    @Removal(version = "5.3")
+    @Deprecated
     public void processChildRecords() {
-    	convertRawBytesToEscherRecords();
+        decode();
     }
 
     public int getRecordSize() {
diff --git a/src/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java b/src/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
index f27c2b6..8c9743f 100644
--- a/src/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
+++ b/src/java/org/apache/poi/hssf/record/DrawingRecordForBiffViewer.java
@@ -42,7 +42,7 @@
     public DrawingRecordForBiffViewer(DrawingRecord r)
     {
     	super(convertToInputStream(r));
-    	convertRawBytesToEscherRecords();
+    	decode();
     }
     private static RecordInputStream convertToInputStream(DrawingRecord r)
     {