private static function initialize()
 {
     Annotations::registerAnnotations([Annotation_Application::NAME => Annotation_Application::TYPE, Annotation_Method_Delete::NAME => Annotation_Method_Delete::TYPE, Annotation_Method_Get::NAME => Annotation_Method_Get::TYPE, Annotation_Method_Options::NAME => Annotation_Method_Options::TYPE, Annotation_Method_Post::NAME => Annotation_Method_Post::TYPE, Annotation_Method_Put::NAME => Annotation_Method_Put::TYPE, Annotation_Param_Path::NAME => Annotation_Param_Path::TYPE, Annotation_Param_Query::NAME => Annotation_Param_Query::TYPE]);
     self::$m_initialized = true;
 }
<?php

namespace Components;

Annotations::registerAnnotations([Annotation_Cache::NAME => Annotation_Cache::TYPE, Annotation_Collection::NAME => Annotation_Collection::TYPE, Annotation_Id::NAME => Annotation_Id::TYPE, Annotation_Transient::NAME => Annotation_Transient::TYPE]);
Resource_Type::registerResourceType('mysql', Persistence_Resource_Pdo_Mysql::type());
Resource_Type::registerResourceType('mongodb', Persistence_Resource_Mongodb::type());
Persistence_Resource_Schema::serve('schema');
Persistence::registerResource('nosql', ['mongodb://127.0.0.1/' . COMPONENTS_INSTANCE_CODE]);
Debug::addFlagListener(function ($active_, array $flags_) {
    if ($active_) {
        $bits = [];
        if (isset($flags_[Persistence::LOG_STATEMENTS])) {
            $bits[] = Persistence::BIT_LOG_STATEMENTS;
        }
        if (isset($flags_[Persistence::LOG_QUERIES])) {
            $bits[] = Persistence::BIT_LOG_QUERIES;
        }
        if (isset($flags_[Persistence::PROFILE])) {
            $bits[] = Persistence::BIT_PROFILE;
        }
        Persistence::$debugMode = Bitmask::getBitmaskForBits($bits);
    } else {
        Persistence::$debugMode = Persistence::BIT_NO_DEBUG;
    }
});
 /**
  * Registers binding annotations.
  */
 private static function initialize()
 {
     if (self::$m_initialized) {
         return;
     }
     Annotations::registerAnnotations(array(Annotation_Inject::NAME => Annotation_Inject::TYPE, Annotation_Named::NAME => Annotation_Named::TYPE, Annotation_Binding_Provider::NAME => Annotation_Binding_Provider::TYPE));
     self::$m_initialized = true;
 }
 protected static function registerAnnotations()
 {
     if (false === self::$m_annotationsRegistered) {
         Annotations::registerAnnotations(array(Annotation_AfterClass::NAME => Annotation_AfterClass::TYPE, Annotation_AfterMethod::NAME => Annotation_AfterMethod::TYPE, Annotation_AfterSuite::NAME => Annotation_AfterSuite::TYPE, Annotation_BeforeClass::NAME => Annotation_BeforeClass::TYPE, Annotation_BeforeMethod::NAME => Annotation_BeforeMethod::TYPE, Annotation_BeforeSuite::NAME => Annotation_BeforeSuite::TYPE, Annotation_Ignore::NAME => Annotation_Ignore::TYPE, Annotation_Profile::NAME => Annotation_Profile::TYPE, Annotation_Test::NAME => Annotation_Test::TYPE));
         self::$m_annotationsRegistered = true;
     }
 }