private VarDefBase getPreviousSameLevelNonRedefine( SharedProgramInstanceData sharedProgramInstanceData) { if (getVarDefPreviousSameLevel(sharedProgramInstanceData) != null) { VarDefBase varDefPrevious = getVarDefPreviousSameLevel(sharedProgramInstanceData); if (varDefPrevious.m_varDefRedefinOrigin != null) // The previous is a redefine { if (varDefPrevious .isEditInMapRedefine()) // PJD: previous sibling determination error correction return varDefPrevious; // PJD: previous sibling determination error correction return varDefPrevious.getPreviousSameLevelNonRedefine(sharedProgramInstanceData); } return varDefPrevious; // the previous is not a redefine } return null; // No previous at the same level }