class RecordImpl implements Record {

    @Override
    public DataType getType(final String fieldName) {
        if (!hasMember(fieldName)) {
            throw new IllegalArgumentException("Field not found: " + fieldName);
        }

        return structure.getType(fieldName);
    }

    public  RecordImpl(final String name, final Structure structure, final Record parent);
      RecordImpl(final String name, final Structure structure, final Record parent,
            final RecordListImplFactory fixedListFactory, final DynamicRecordListImplFactory varListFactory,
            final RecordImplFactory recordFactory);

}