///
/// If the variable is found, a[1] is the array that /// contains the variable (or null if the variable is a scalar). /// If the variable can't be found and either createPart1 or /// createPart2 are true, a new as-yet-undefined (VAR_UNDEFINED) /// variable instance is created, entered into a hash /// table, and returned. /// Note: it's possible that var.value of the returned variable /// may be null (variable undefined), even if createPart1 or createPart2 /// are true (these only cause the hash table entry or array to be created). /// For example, the variable might be a global that has been unset but /// is still referenced by a procedure, or a variable that has been unset /// but it only being kept in existence by a trace. ///