public function loadSchema() {
        // Lets see if we have a session, otherwise we cant use this cache
        // and drop some error that will be returned by Net_LDAP2->schema().
        // Minor errors should be indicated by returning false, so Net_LDAP2
        // can continue its work. This will result in the same behavior as
        // no schema cache would have been registered.
        if (!isset($_SESSION)) {
            return new Net_LDAP2_Error(__CLASS__.": No PHP Session initialized.".
                                       " This cache needs an open PHP session.");
        }

        // Here the session is valid, so we return the stores schema.
        // If we cant find the schema (because cahce is empty),w e return
        // false to inidicate a minor error to Net_LDAP2.
        // This causes it to fetch a fresh object from LDAP.
        if (array_key_exists(__CLASS__, $_SESSION)
        && $_SESSION[__CLASS__] instanceof Net_LDAP2_SchemaCache) {
            return $_SESSION[__CLASS__];
        } else {
            return false;
        }
    }