public Persistent LoadObjectById(Long id, Persistent obj) throws IllegalAccessException
    {
        NodeReference node = connection.createNodeReference(obj.GetStorageGlobalName());
        
        InitSchema(obj);
        
        node.setSubscriptCount(0);
        node.appendSubscript(id);
        Field field;
        String subscript = "";
        Object nodeValue = null;
        do {
            subscript = node.nextSubscript(subscript);
            if (subscript.length() > 0) 
            {
               field = fieldsMap.get(subscript);
               nodeValue = node.getObject(subscript);
               
               FieldGetter.GetFieldValue(obj, field, nodeValue, subscript, node);
               /*
               if (nodeValue instanceof java.lang.Long)
               {
                   Long nodeLongValue = node.getLong(subscript);
                   field.setLong(obj, nodeLongValue);
               }
               else
               {
                   if(field.getType() == java.util.Date.class)
                   {
                       Date dateValue = new Date(nodeValue.toString());
                        
                        field.set(obj, dateValue);
                   }
                   else
                    {
                   
                        field.set(obj, nodeValue);
                    }
               }*/
            }
         }while (subscript.length() > 0);
         
       
        return obj;
      
        
    }