StructTreeRoot::parseNumberTreeNode: Save copy() call
diff --git a/poppler/StructTreeRoot.cc b/poppler/StructTreeRoot.cc
index 099bf62..99359b7 100644
--- a/poppler/StructTreeRoot.cc
+++ b/poppler/StructTreeRoot.cc
@@ -141,11 +141,11 @@
 	int keyVal = key.getInt();
 	std::vector<Parent>& vec = parentTree[keyVal];
 
-	Object value = nums.arrayGet(i + 1);
-	if (value.isArray()) {
-	  vec.resize(value.arrayGetLength());
-	  for (int j = 0; j < value.arrayGetLength(); j++) {
-	    const Object &itemvalue = value.arrayGetNF(j);
+	Object valueArray = nums.arrayGet(i + 1);
+	if (valueArray.isArray()) {
+	  vec.resize(valueArray.arrayGetLength());
+	  for (int j = 0; j < valueArray.arrayGetLength(); j++) {
+	    const Object &itemvalue = valueArray.arrayGetNF(j);
 	    if (itemvalue.isRef()) {
 	      Ref ref = itemvalue.getRef();
 	      vec[j].ref = ref;
@@ -155,14 +155,14 @@
 	    }
 	  }
 	} else {
-	  value = nums.arrayGetNF(i + 1).copy();
-	  if (value.isRef()) {
-	    Ref ref = value.getRef();
+	  const Object &valueRef = nums.arrayGetNF(i + 1);
+	  if (valueRef.isRef()) {
+	    Ref ref = valueRef.getRef();
 	    vec.resize(1);
 	    vec[0].ref = ref;
 	    refToParentMap.insert(std::pair<Ref, Parent*>(ref, &vec[0]));
 	  } else {
-	    error(errSyntaxError, -1, "Nums item at position {0:d} is wrong type ({1:s})", i + 1, value.getTypeName());
+	    error(errSyntaxError, -1, "Nums item at position {0:d} is wrong type ({1:s})", i + 1, valueRef.getTypeName());
 	  }
 	}
       }