fix bugs in constructors; C++ does not support Java like recursive construction
diff --git a/src/ccnx-pco.cpp b/src/ccnx-pco.cpp
index dce3bcb..af10c7a 100644
--- a/src/ccnx-pco.cpp
+++ b/src/ccnx-pco.cpp
@@ -2,8 +2,8 @@
 
 namespace Ccnx {
 
-ParsedContentObject::ParsedContentObject(const unsigned char *data, size_t len)
-            : m_comps(NULL)
+void
+ParsedContentObject::init(const unsigned char *data, size_t len)
 {
   m_comps = ccn_indexbuf_create();
   int res = ccn_parse_ContentObject(data, len, &m_pco, m_comps);
@@ -14,14 +14,22 @@
   readRaw(m_bytes, data, len);
 }
 
-ParsedContentObject::ParsedContentObject(const Bytes &bytes)
+ParsedContentObject::ParsedContentObject(const unsigned char *data, size_t len)
+            : m_comps(NULL)
 {
-  ParsedContentObject(head(bytes), bytes.size());
+  init(data, len);
+}
+
+ParsedContentObject::ParsedContentObject(const Bytes &bytes)
+            : m_comps(NULL)
+{
+  init(head(bytes), bytes.size());
 }
 
 ParsedContentObject::ParsedContentObject(const ParsedContentObject &other)
+            : m_comps(NULL)
 {
-  ParsedContentObject(other.m_bytes);
+  init(head(other.m_bytes), other.m_bytes.size());
 }
 
 ParsedContentObject::~ParsedContentObject()