code: @Override
      public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException {
  	try {
  	    out.writeObject(new HashMap(this));
  	}
  	catch (NotSerializableException nse) {
  	    NotSerializableException tmp = new NotSerializableException(nse.getMessage() + ":" + entries());
  	    tmp.initCause(nse);
  	    throw tmp;
  	}
      }
docs: TODO better implementation