How are operators added to the FPLMN list?

Any info on this?

In your article about clearing the FPLMN you recommend not clearing it within a program, but I don’t see how to avoid this if the only network available is added to the list when signal is poor?