+ my $profile;
+ my $class;
+ my @specs;
+
+ my $i = 0;
+ foreach my $header (@{ $self->_csv->header }) {
+ if ($self->_csv->profile) {
+ $profile = $self->_csv->profile->[$i]->{profile};
+ $class = $self->_csv->profile->[$i]->{class};
+ }
+
+ my $spec = $self->_parse_profile(profile => $profile,
+ class => $class,
+ header => $header);
+ push @specs, $spec;
+ $i++;
+ }
+
+ $self->_specs(\@specs);
+
+ $self->_csv->_push_error($self->errors);
+
+ return ! $self->errors;
+}
+
+sub _parse_profile {
+ my ($self, %params) = @_;
+
+ my $profile = $params{profile};
+ my $class = $params{class};
+ my $header = $params{header};
+