function obj = clear_non_essential( obj )

if ~isempty(obj.m_solist)
    obj.m_solist = srec_clear_non_essential(obj.m_solist);
end

if ~isempty(obj.m_subcovermat_subsk2sol)
    obj.m_subcovermat_subsk2sol = srec_clear_non_essential(obj.m_subcovermat_subsk2sol);
end

if ~isempty(obj.m_sublabelmat_subsk2sol)
    obj.m_sublabelmat_subsk2sol = srec_clear_non_essential(obj.m_sublabelmat_subsk2sol);
end

if ~isempty(obj.m_subobjmat_subsk2sol)
    obj.m_subobjmat_subsk2sol = srec_clear_non_essential(obj.m_subobjmat_subsk2sol);
end

if ~isempty(obj.m_solist_refined)
    obj.m_solist_refined = srec_clear_non_essential(obj.m_solist_refined);
end

if ~isempty(obj.m_sol_manual)
    obj.m_sol_manual = obj.m_sol_manual.unrealize();
end

if ~isempty(obj.m_solist_control)
    obj.m_solist_control = srec_clear_non_essential(obj.m_solist_control);
end

if ~isempty(obj.m_solist_mip)
    obj.m_solist_mip = srec_clear_non_essential(obj.m_solist_mip);
end

if ~isempty(obj.m_solist_perterm)
    obj.m_solist_perterm = srec_clear_non_essential(obj.m_solist_perterm);
end

end

