function _resolveScripting_atomic($sInterpreter, $sPath, $aConf = AMEOSFORMIDABLE_LEXER_VOID, $sNextPath = FALSE)
 {
     if ($aConf === AMEOSFORMIDABLE_LEXER_VOID && is_object($this)) {
         $aConf = $this->currentTemplateMarkers();
     }
     if (is_array($aConf)) {
         reset($aConf);
     }
     $curZone = $aConf;
     if (tx_ameosformidable::isTemplateMethod($sPath)) {
         $curZone = tx_ameosformidable::executeTemplateMethod($sInterpreter, $curZone, $sPath);
         if ($curZone === AMEOSFORMIDABLE_LEXER_FAILED || $curZone === AMEOSFORMIDABLE_LEXER_BREAKED) {
             return AMEOSFORMIDABLE_LEXER_FAILED;
         }
     } else {
         if (is_array($curZone)) {
             if (array_key_exists($sPath, $curZone) && array_key_exists($sPath . ".", $curZone)) {
                 // ambiguous case: both "token" and "token." exists in the data array
                 /*
                 						algo:
                 							if there's a next token asked after this one
                 								if "nexttoken" or "nexttoken." exists in "token."
                 									current zone become "token."
                 								else
                 									current zone become "token"
                 							else
                 								current zone become "token"
                 */
                 if ($sNextPath !== FALSE) {
                     if (array_key_exists($sNextPath, $curZone[$sPath . "."]) || array_key_exists($sNextPath . ".", $curZone[$sPath . "."])) {
                         $curZone = $curZone[$sPath . "."];
                     } else {
                         $curZone = $curZone[$sPath];
                     }
                 } else {
                     $curZone = $curZone[$sPath];
                 }
             } elseif (array_key_exists($sPath, $curZone) || array_key_exists($sPath . ".", $curZone)) {
                 if ($sNextPath !== FALSE && array_key_exists($sPath . ".", $curZone) && is_array($curZone[$sPath . "."])) {
                     if (array_key_exists($sNextPath, $curZone[$sPath . "."]) || array_key_exists($sNextPath . ".", $curZone[$sPath . "."])) {
                         $curZone = $curZone[$sPath . "."];
                     } else {
                         $curZone = $curZone[$sPath];
                     }
                 } else {
                     $curZone = $curZone[$sPath];
                 }
             } elseif (is_string($sPath) && is_numeric($sPath)) {
                 return $sPath + 0;
             } elseif (is_string($sPath) && $this->isTrueVal($sPath)) {
                 return TRUE;
             } elseif (is_string($sPath) && $this->isFalseVal($sPath)) {
                 return FALSE;
             } else {
                 return AMEOSFORMIDABLE_LEXER_FAILED;
             }
         } else {
             return $curZone;
         }
     }
     return $curZone;
 }