I would like to call your attention to an all-important psychological principle.It is true that sometimes a person may behave improperly because of ignorance, but more often people do have the knowledge that should stop them from doing wrong, yet, this knowledge does not appear to impact upon their behavior.
The phenomenon of being oblivious to that which one knows is referred to as denial. Denial is not the same as lying, because lying is a conscious distortion of fact, i.e., the liar knows he is lying, whereas denial is an unconscious process, in which a person is totally unaware that he is denying, and is certain that he is in possession of the truth.
This dynamics behind denial are clearly stated by the prophet Isaiah, who described this phenomenon several thousand years before Freud. "The heart of this people is fattened, his ears are dull, and his eyes are pasted; lest he understand with his heart, hear with his ears, and see with his eyes, then he would repent and be healed" (Isaiah 6:10). The prophet is telling us that a person may refuse to become aware of what is obvious because such awareness would necessitate change in his behavior, and since making changes is uncomfortable, his psychological mechanism allows him to maintain the status quo by rendering him oblivious to some aspects of reality. We are creatures of habit, and changing our ways is filled with discomfort. To avoid the distress incident to change, our clever unconscious mind prevents our being made aware of those things which would lead to change.
That is why in NLP after doing the Meta Program and a few other things to understand the patient/client better we deal directly with the Sub-conscious mind where the change takes place.