code: public BinaryOWLMetadata createCopy() {
          BinaryOWLMetadata copy = new BinaryOWLMetadata();
          copy.stringAttributes.putAll(stringAttributes);
          copy.intAttributes.putAll(intAttributes);
          copy.longAttributes.putAll(longAttributes);
          copy.doubleAttributes.putAll(doubleAttributes);
          copy.booleanAttributes.putAll(booleanAttributes);
          copy.byteArrayAttributes.putAll(byteArrayAttributes);
          for(String key : owlObjectAttributes.keySet()) {
              List<OWLObject> objectList = new ArrayList<OWLObject>(owlObjectAttributes.get(key));
              copy.owlObjectAttributes.put(key, objectList);
          }
          return copy;
      }
docs: Creates a copy of this metadata object.  Modifications to this object don't affect the copy, and vice versa.
  @return A copy of this metadata object.