protected List<FieldDto> toFieldDtos(final List<ColumnMetadata> columns) { final List<FieldDto> result = Lists.newArrayList(); if (columns != null) { for (int i = 0; i < columns.size(); i++) { final ColumnMetadata column = columns.get(i); final FieldDto fieldDto = toFieldDto(column); if (column instanceof ColumnDetailMetadata) { final ColumnDetailMetadata columnDetail = (ColumnDetailMetadata) column; fieldDto.setSource_type(columnDetail.getSourceType()); fieldDto.setIsNullable(columnDetail.getIsNullable()); fieldDto.setSize(columnDetail.getSize()); fieldDto.setDefaultValue(columnDetail.getDefaultValue()); fieldDto.setIsIndexKey(columnDetail.getIsIndexKey()); fieldDto.setIsSortKey(columnDetail.getIsSortKey()); } fieldDto.setPos(i); result.add(fieldDto); } } return result; }