protected void transform(final Cursor cursor) {
		final ColumnMapper mapper = getColumnMapper();

		final Field[] fields = Reflection.getNonStaticDeclaredFields(this.getClass());
		for (Field field : fields) {
			if (!isMultiValued(field) && !isTransient(field)) {
				mapper.setValueToObject(cursor, field, this);
			}
		}

		final int posId = cursor.getColumnIndex("_id");
		if (posId != -1) {
			this._id = cursor.getInt(posId);
		}
	}