/**
  * Returns the {@link Column} identified by the specified name, or {@code null} if not found.
  *
  * @param name The name of the {@link Column} to be returned.
  * @return The {@link Column} identified by the specified name, or {@code null} if not found.
  */
 public Columns getColumnsByName(String name) {
   Columns result = new Columns();
   for (Column<?> column : columns) {
     if (column.getMapperName().equals(name)) {
       result.add(column);
     }
   }
   return result;
 }
 /**
  * returns a {@link BitemporalDateTime} readed from columns
  *
  * @param columns the {@link Columns} where it is the data
  * @param fieldName the filed Name to read from {@link Columns}
  * @return a {@link BitemporalDateTime} readed from columns
  */
 BitemporalDateTime readBitemporalDate(Columns columns, String fieldName) {
   Column column = columns.getColumnsByName(fieldName).getFirst();
   if (column == null) {
     throw new IllegalArgumentException(fieldName + " column required");
   }
   return this.parseBiTemporalDate(column.getComposedValue());
 }