original_string: protected static function _cache($type, $key, $value = false)
      {
          $key = '_' . $key;
          $type = '_' . $type;
          if ($value !== false) {
              self::$_cache[$type][$key] = $value;
              return $value;
          }
          if (!isset(self::$_cache[$type][$key])) {
              return false;
          }
          return self::$_cache[$type][$key];
      }
code: protected static function _cache($type, $key, $value = false)
      {
          $key = '_' . $key;
          $type = '_' . $type;
          if ($value !== false) {
              self::$_cache[$type][$key] = $value;
              return $value;
          }
          if (!isset(self::$_cache[$type][$key])) {
              return false;
          }
          return self::$_cache[$type][$key];
      }
code_tokens: protected static function _cache ( $ type , $ key , $ value = false ) { $ key = '_' . $ key ; $ type = '_' . $ type ; if ( $ value !== false ) { self :: $ _cache [ $ type ] [ $ key ] = $ value ; return $ value ; } if ( ! isset ( self :: $ _cache [ $ type ] [ $ key ] ) ) { return false ; } return self :: $ _cache [ $ type ] [ $ key ] ; }
docstring: Cache inflected values, and return if already available
  
  @param string $type Inflection type
  @param string $key Original value
  @param string $value Inflected value
  @return string Inflected value, from cache
docstring_tokens: Cache inflected values and return if already available