new (Vapor::PersistenceManager)

    # File vapor/persistencemgr.rb, line 43
        def initialize( properties )
          raise TypeError, "property object does not respond to []" unless properties.respond_to? "[]"

          # determine backend class to use
          if !properties['Vapor.Datastore.BackendClass'].nil? then
            backend_class = properties['Vapor.Datastore.BackendClass']
          else
            backend_class = TupleManager
          end

          # retrieve properties
          ds_user = properties[ 'Vapor.Datastore.Username']
          ds_pass = properties[ 'Vapor.Datastore.Password' ]
          ds_name = properties[ 'Vapor.Datastore.Name' ]
          ds_host = properties[ 'Vapor.Datastore.Host' ]
          ds_port = properties[ 'Vapor.Datastore.Port' ]
          if properties[ 'Vapor.Autocommit' ].nil? then
            @autocommit = true
          else
            if properties[ 'Vapor.Autocommit' ] then
              @autocommit = true
            else
              @autocommit = false
            end
          end

          # initialize backend
          @backend = backend_class.new( ds_name, ds_user, ds_pass, ds_host, ds_port )

          # initialize other instance variables
          @object_cache = Hash.new
          Persistable.persistence_manager = self
          @oid_gen = OIDGenerator.new
          @oid_gen.high_source = @backend
          @query_parser = QueryParser.new
          @transaction = Transaction.new( self, @backend )
          @autocommit_in_progress = false

        end