private void copyValue(Value val) {
		descriptor_ = new ValueDescriptor(val.getDescriptor());
		Object obj = val.getData();
		switch (getType()) {
		case FLOAT:
			data_ = new Float((Float) obj);
			break;
		case DOUBLE:
			data_ = new Double((Double) obj);
			break;
		case INTEGER:
			data_ = new Integer((Integer) obj);
			break;
		case LONG:
			data_ = new Long((Long) obj);
			break;
		case SHORT:
			data_ = new Short((Short) obj);
			break;
		case BYTE:
			data_ = new Byte((Byte) obj);
			break;
		case STRING:
			data_ = obj.toString();
			break;
		case BOOLEAN:
			data_ = new Boolean((Boolean) obj);
			break;
		case ARRAY:
			copyArray(obj);
			break;
		default:
			data_ = obj;
			break;
		}
	}