private Object getValueWithCorrectType(int fdIndex, Object data){
		Object valueWithType = data;
		int type = fdSchema.getTypes().get(fdIndex);
		switch (type) {
		case SeColumnDefinition.TYPE_INT16:
			valueWithType = Short.parseShort((String)data);
			break;
		case SeColumnDefinition.TYPE_INT32:
			valueWithType = Integer.parseInt((String)data);
			break;
		case SeColumnDefinition.TYPE_INT64:
			valueWithType = Long.parseLong((String)data);
			break;
		case SeColumnDefinition.TYPE_FLOAT32:
			valueWithType = Float.parseFloat((String)data);
			break;
		case SeColumnDefinition.TYPE_FLOAT64:
			valueWithType = Double.parseDouble((String)data);
			break;
		case SeColumnDefinition.TYPE_STRING:
			valueWithType = (String)data;
			break;
		case SeColumnDefinition.TYPE_SHAPE:
			valueWithType = (SeShape)data;
			break;
		case SeColumnDefinition.TYPE_NSTRING:
			valueWithType = (String)data;
			break;
		default:
			_log.warn("Column type "+type+" is not supported!");

		}
		return valueWithType;
	}