def METHOD_NAME(obj, header, itime: int, ntimes: int, dt):
    if obj.nonlinear_factor not in (None, np.nan):
        name = obj.data_code['name']
        if isinstance(dt, (int, np.int32, np.int64)):
            dt_line = ' %14s = %i\n' % (name.upper(), dt)
        elif isinstance(dt, (float, np.float32, np.float64)):
            dt_line = ' %14s = %12.5E\n' % (name, dt)
        #elif isinstance(dt, np.complex):
            #dt_line = ' %14s = %12.5E %12.5Ej\n' % (name, dt.real, dt.imag)
        else:
            raise NotImplementedError(type(dt))
            #dt_line = ' %14s = %12.5E %12.5Ej\n' % (name, dt.real, dt.imag)
        header[1] = dt_line
        codes = getattr(obj, name + 's')
        if not len(codes) == ntimes:
            msg = (f'{name}s in {obj.__class__.__name__} the wrong size; '
                   f'ntimes={ntimes}; {name}s={codes}\n')
            atts = object_attributes(obj)
            msg += f'names={atts}\n'
            msg += f'data_names={obj.data_names}\n'
            raise IndexError(msg)
        if hasattr(obj, 'eigr'):
            try:
                eigenvalue_real = obj.eigrs[itime]
            except IndexError:
                msg = 'eigrs[%s] not found; ntimes=%s; eigrs=%s' % (itime, ntimes, obj.eigrs)
                msg += 'names=%s' % object_attributes(obj)
                raise IndexError(msg)
            eigr_line = ' %14s = %12.6E\n' % ('EIGENVALUE', eigenvalue_real)
            header[2] = eigr_line
    return header