@@ -74,10 +74,11 @@ public Object parseMap(boolean ignored, ReadCache cache, MapReadHandler<Object,
7474 ReadHandler <Object , Object > val_handler = getHandler (tag );
7575 Object val ;
7676 if (val_handler != null ) {
77- if (this .mp .getNextFormat ().getValueType () == ValueType .MAP && val_handler instanceof MapReadHandler ) {
77+ ValueType next = this .mp .getNextFormat ().getValueType ();
78+ if (next == ValueType .MAP && val_handler instanceof MapReadHandler ) {
7879 // use map reader to decode value
7980 val = parseMap (false , cache , (MapReadHandler <Object , ?, Object , Object , ?>) val_handler );
80- } else if (this . mp . getNextFormat (). getValueType () == ValueType .ARRAY && val_handler instanceof ArrayReadHandler ) {
81+ } else if (next == ValueType .ARRAY && val_handler instanceof ArrayReadHandler ) {
8182 // use array reader to decode value
8283 val = parseArray (false , cache , (ArrayReadHandler <Object , ?, Object , ?>) val_handler );
8384 } else {
@@ -114,10 +115,11 @@ public Object parseArray(boolean ignored, ReadCache cache, ArrayReadHandler<Obje
114115 String tag = ((Tag ) val ).getValue ();
115116 ReadHandler <Object , Object > val_handler = getHandler (tag );
116117 if (val_handler != null ) {
117- if (this .mp .getNextFormat ().getValueType () == ValueType .MAP && val_handler instanceof MapReadHandler ) {
118+ ValueType next = this .mp .getNextFormat ().getValueType ();
119+ if (next == ValueType .MAP && val_handler instanceof MapReadHandler ) {
118120 // use map reader to decode value
119121 val = parseMap (false , cache , (MapReadHandler <Object , ?, Object , Object , ?>) val_handler );
120- } else if (this . mp . getNextFormat (). getValueType () == ValueType .ARRAY && val_handler instanceof ArrayReadHandler ) {
122+ } else if (next == ValueType .ARRAY && val_handler instanceof ArrayReadHandler ) {
121123 // use array reader to decode value
122124 val = parseArray (false , cache , (ArrayReadHandler <Object , ?, Object , ?>) val_handler );
123125 } else {
0 commit comments