public Object result() {
		if (Protocol.Type.STRING == type) {
			return StringUtils.toString(current, charset);
		} else if (Protocol.Type.ERROR == type) {
			return new RedisException(StringUtils.toString(current, charset));
		} else if (Protocol.Type.INTEGER == type) {
			return NumberUtils.toInt(StringUtils.toString(current, charset));
		} else if (Protocol.Type.BULK_STRING == type) {
			return current == null ? null : StringUtils.toString(current, charset);
		} else if (Protocol.Type.ARRAY == type) {
			return array;
		} else {
			throw new RuntimeException("parser not ready, parse error or parse not called!");
		}
	}