public void CheckValid() { if (Internal_Program == -1) { Shader temp = Engine.GetShader(Name); Original_Program = temp.Original_Program; Internal_Program = Original_Program; RemappedTo = temp; NewVersion = temp; } else if (RemappedTo != null) { RemappedTo.CheckValid(); Internal_Program = RemappedTo.Original_Program; } }