Problem with child objects created in custom tree data descriptor

I have a set of AS objects that must be represented in a
tree. Some of them are branches with various numbers of children
while some are leaves. The branches can have additional branch or
leaf children. One type of node in particular, let's call them
Elephant objects, is causing me grief. Elephants contain one array
of Chicken objects and a second array of Monkey objects. I must
represent the set of Chickens and Monkeys as sub-folders of their
parent Elephant object rather than listing all of the Chickens and
Monkeys as individual children of the Elephant. I have been trying
to solve this problem by creating new children objects on the fly
from within the getChildren function of an ITreeDataDescriptor
implementer class, which I've attached to this message.
The problem I encountered is that the Chicken and Monkey
branch/folder objects that I create on the fly and add to the tree
will not open, though they appear in the tree as expected. Is
creating objects and adding them to a tree in the getChildren
function bad? I hope there's something obvious that I'm doing
wrong.

I have a set of AS objects that must be represented in a
tree. Some of them are branches with various numbers of children
while some are leaves. The branches can have additional branch or
leaf children. One type of node in particular, let's call them
Elephant objects, is causing me grief. Elephants contain one array
of Chicken objects and a second array of Monkey objects. I must
represent the set of Chickens and Monkeys as sub-folders of their
parent Elephant object rather than listing all of the Chickens and
Monkeys as individual children of the Elephant. I have been trying
to solve this problem by creating new children objects on the fly
from within the getChildren function of an ITreeDataDescriptor
implementer class, which I've attached to this message.
The problem I encountered is that the Chicken and Monkey
branch/folder objects that I create on the fly and add to the tree
will not open, though they appear in the tree as expected. Is
creating objects and adding them to a tree in the getChildren
function bad? I hope there's something obvious that I'm doing
wrong.

Similar Messages

  • Problem with embedded objects

    Hi,
    I have problem with embedded objects which contained embedded objects.
    When I create an Object in the persistent memory and commit this object I get the following error:
    ORA-22805: cannot insert NULL object into object tables or nested tables
    In the constructor of my persisten object I create the embedded members in the transient memory:
    ATestPersObj::ATestPersObj() : m_count(0), m_lang(NULL), m_cost(NULL) {
      m_lang = new AEnumLanguage_OraType();
      m_cost = new AAmount_OraType();
    }Or when I dereference a reference I get this error:
    ORA-00600: internal error code, arguments: [kokeicadd2], [16], [5], [], [], [], [], []
    Can somebody give me a hint?
    I've defined the following Type:
    CREATE OR REPLACE TYPE AENUM_ORATYPE AS OBJECT (
                             VALUE  NUMBER(10,0)
                           ) NOT FINAL ;
    CREATE OR REPLACE TYPE AENUMLANGUAGE_ORATYPE UNDER AENUM_ORATYPE (
                           ) FINAL " );
    CREATE OR REPLACE TYPE ACURRENCY_ORATYPE AS OBJECT (
                             ISONR          NUMBER(5,0)
                           ) FINAL ;
    CREATE OR REPLACE TYPE AAMOUNT_ORATYPE AS OBJECT (
                             CCY        ACURRENCY_ORATYPE,
                             LO32BITS   NUMBER(10,0),
                             HI32BITS   NUMBER(10,0)
                           ) NOT FINAL ;
    CREATE OR REPLACE TYPE ATESTPERSOBJ AS OBJECT (
                             COUNT    NUMBER(4),
                             LANG     AENUMLANGUAGE_ORATYPE,
                             COST     AAMOUNT_ORATYPE   
                           ) FINAL ;
    oracle::occi::Ref<ATestPersObj> pObjR = new(c.getConnPtr(), "TTESTPERSOBJ") ATestPersObj();
    pObjR->setCount(i+2001);
    pObjR->setLang(AEnumLanguage(i+1));
    pObjR->setCost(AAmount(ACurrency(), 2.5));
    c.commit();
    c.execQueryRefs("SELECT REF(a) FROM TTESTPERSOBJ a", persObjListR);
    len = persObjListR.size();
    {for (int i = 0; i < len; i++) {  
      oracle::occi::Ref<ATestPersObj> pObjR = persObjListR;
    pObjR->getCount();
    pObjR->getLang();
    c.commit();
    With kind regards
    Daniel
    Message was edited by:
    DanielF
    Message was edited by:
    DanielF

    Hi,
    I have problem with embedded objects which contained embedded objects.
    When I create an Object in the persistent memory and commit this object I get the following error:
    ORA-22805: cannot insert NULL object into object tables or nested tables
    In the constructor of my persisten object I create the embedded members in the transient memory:
    ATestPersObj::ATestPersObj() : m_count(0), m_lang(NULL), m_cost(NULL) {
      m_lang = new AEnumLanguage_OraType();
      m_cost = new AAmount_OraType();
    }Or when I dereference a reference I get this error:
    ORA-00600: internal error code, arguments: [kokeicadd2], [16], [5], [], [], [], [], []
    Can somebody give me a hint?
    I've defined the following Type:
    CREATE OR REPLACE TYPE AENUM_ORATYPE AS OBJECT (
                             VALUE  NUMBER(10,0)
                           ) NOT FINAL ;
    CREATE OR REPLACE TYPE AENUMLANGUAGE_ORATYPE UNDER AENUM_ORATYPE (
                           ) FINAL " );
    CREATE OR REPLACE TYPE ACURRENCY_ORATYPE AS OBJECT (
                             ISONR          NUMBER(5,0)
                           ) FINAL ;
    CREATE OR REPLACE TYPE AAMOUNT_ORATYPE AS OBJECT (
                             CCY        ACURRENCY_ORATYPE,
                             LO32BITS   NUMBER(10,0),
                             HI32BITS   NUMBER(10,0)
                           ) NOT FINAL ;
    CREATE OR REPLACE TYPE ATESTPERSOBJ AS OBJECT (
                             COUNT    NUMBER(4),
                             LANG     AENUMLANGUAGE_ORATYPE,
                             COST     AAMOUNT_ORATYPE   
                           ) FINAL ;
    oracle::occi::Ref<ATestPersObj> pObjR = new(c.getConnPtr(), "TTESTPERSOBJ") ATestPersObj();
    pObjR->setCount(i+2001);
    pObjR->setLang(AEnumLanguage(i+1));
    pObjR->setCost(AAmount(ACurrency(), 2.5));
    c.commit();
    c.execQueryRefs("SELECT REF(a) FROM TTESTPERSOBJ a", persObjListR);
    len = persObjListR.size();
    {for (int i = 0; i < len; i++) {  
      oracle::occi::Ref<ATestPersObj> pObjR = persObjListR;
    pObjR->getCount();
    pObjR->getLang();
    c.commit();
    With kind regards
    Daniel
    Message was edited by:
    DanielF
    Message was edited by:
    DanielF

  • Problem with shared objects synchoronization.

    I encountered a small problem with shared objects.
    I'm working on a program that creates chat rooms of a fixed
    size of 30 users. When the 31th user comes, a new room is created.
    The idea is that the client first connects to the first room
    and checks if it's full by connecting to shared objects. If it is
    full, connection is closed and process is reapeated on a new
    instance of the application.
    I use a function to connect to an instance, which takes as a
    parameter a number (1 for instance room_1, 2 for room_2, etc). The
    function itself creates the necessary Netconnection and
    sharedObject objects.
    If a room is full, Netconnections and sharedObjects are
    closed and function is called again with another number.
    I have no problem for connecting to the first room, but after
    closing the first connection and connecting to the new room, there
    seem to be some problems with the shared objects (especially,
    OnSync doesn't seem to execute again after the connection to the
    shared objects of the new instance).
    I was wondering if you had any ideas what could cause this.
    Is it the use of the same variable names for connecting at two
    different shared objects?
    Here is the function :
    function initStreams(room) {
    client_nc = new NetConnection();
    client_nc.connect("rtmp://192.168.0.4/Elearning/room_"+room);
    in_ns = new NetStream(client_nc);
    in_ns2 = new NetStream(client_nc);
    Replay_video.attachVideo(in_ns);
    out_ns = new NetStream(client_nc);
    out_ns2 = new NetStream(client_nc);
    in_ns.play("my_recorded_stream");
    users_name = SharedObject.getRemote("users_name",
    _root.client_nc.uri, false);
    users_name.connect(_root.client_nc);
    users_language = SharedObject.getRemote("users_language",
    _root.client_nc.uri, false);
    users_language.connect(_root.client_nc);
    users_picture = SharedObject.getRemote("users_picture",
    _root.client_nc.uri, false);
    users_picture.connect(_root.client_nc);
    users_finger = SharedObject.getRemote("users_finger",
    _root.client_nc.uri, false);
    users_finger.connect(_root.client_nc);
    I you need more info, I can post more of the code on the
    forum.
    Any help would be really appreciated

    I don't see any onStatus events in the code you posted above.
    If you're defining the onstatus event outside the function, that's
    the problem. When you define the shared object, you also need to
    define it's onStatus event handler.
    Also, you really should wait for the onStatus event of the
    netConnection before you connect your sharedObjects. If you try to
    connect the SO before the netConnection is established, the SO will
    never connect.

  • Problem with activeX objects

    hi all,
    i am having a problem with activeX objects.
    my activeX ( Tree View) is wrking fine with windows2000
    but when i am trying the same code with XP its saying dll missing.
    do these activeX depends on OS also..
    plz help me.

    hey Vishwas!
    did you register the .dll?
    do you work with vb.net?
    which ServicePack do you have in Windows XP?
    greetz
    Matthias

  • I have too many problems with UserKeyMD Object

    Hi everybody!!!......
    I've too many problems with UserKeyMD object, this don't work, I have a Application which create the DataBase structure, but when try it for create the user key on "x" field in "ABC" table (x field is present on table, is db_Alpha with 8 chars, subtype is st_None) is raised the problem.
    I try to create this way the key (VB example):
    Dim oUserKeysMD As SAPbobsCOM.UserKeysMD
    Set oUserKeysMD = oCompany.GetBusinessObject(oUserKeys)
    oUserKeysMD.TableName = sTableName
    oUserKeysMD.KeyName = sKeyName
    oUserKeysMD.Unique = BoYesNoEnum.tYES
    oUserKeysMD.Elements.ColumnAlias = sFieldName
    oUserKeysMD.Add '<- here problem is raised
    System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserKeysMD)
    I'm work in Delphi .Net and translate the source code of my function to VB.
    P.D.:this source code at least work 2 times, but does not use it until today, I do not know because no longer it works now but. 
    excuse my ingles is very bad
    thanks
    regards
    Francisco Troncoso
    Chile.
    Message was edited by: Francisco Troncoso

    Hi, I using this names for my tables, fields and keys.
    the table name is:
    AOTI
    the fields names are:
    codigo alpha editsize 8
    decrip alpha editsize 40
    tipo   alpha editsize 1 - valid values W, C - Default Value C
    grupo1 alpha editsize 1 - valid values Y, N - Default Value N
    grupo2 alpha editsize 1 - valid values Y, N - Default Value N
    grupo3 alpha editsize 1 - valid values Y, N - Default Value N
    grupo4 alpha editsize 1 - valid values Y, N - Default Value N
    grupo5 alpha editsize 1 - valid values Y, N - Default Value N
    grupo6 alpha editsize 1 - valid values Y, N - Default Value N
    grupo7 alpha editsize 1 - valid values Y, N - Default Value N
    grupo8 alpha editsize 1 - valid values Y, N - Default Value N
    all fields have subtype none and the key name is :
    AOPK1
    ColumnAlias is codigo, when I try to create the table, fields and key with MetaDataOperatios example I have not problems but I try to create with my application I have the error.
    Regards,
    Franciso.

  • I have the problem with the eFax Create Account button being grayed out for my newly purchased 6525.

    I have the problem with the eFax Create Account button being grayed out for my newly purchased 6525.
    Can you help?

    Hi Marv13, disregard my last post. The 6520 does have eFax capabilities and the support document I provided a link to needs updating. If you contact HP Cloud Services phone support they will be able to resolve this issue for you. The number and available times are posted below:
    HP Cloud Services
    1-855-785-2777
    Hours of Operation
    Monday-Friday 8am-11pm ET
    Saturday 10am-6:30pm ET
    Best.
    If my reply helped you, feel free to click on the Kudos button (hover over the "thumbs up").
    If my reply solved your problem please click on the Accepted Solution button so other Forum users may benefit from viewing the post.
    I am an HP employee.

  • Problem with inherited Objects

    Hi,
    I have a problem with inherited objects inside Flex using
    wsdl as the source of the object. The AS-classes are generated
    inside Flex Builder 3.
    Inside the wsdl I have 2 complex types:
    <complexType abstract="true" name="PersistentObject">
    <sequence>
    <element name="id" nillable="true" type="xsd:string"/>
    <element name="insertTimeStamp" nillable="true"
    type="xsd:dateTime"/>
    <element name="insertUsername" nillable="true"
    type="xsd:string"/>
    <element name="updateTimeStamp" nillable="true"
    type="xsd:dateTime"/>
    <element name="updateUsername" nillable="true"
    type="xsd:string"/>
    </sequence>
    </complexType>
    and
    <complexType name="Contact">
    <complexContent>
    <extension base="tns3:PersistentObject">
    <sequence>
    <element name="birthday" nillable="true"
    type="xsd:dateTime"/>
    <element name="firstName" nillable="true"
    type="xsd:string"/>
    <element name="lastName" nillable="true"
    type="xsd:string"/>
    <element name="middleName" nillable="true"
    type="xsd:string"/>
    <element name="newPassword" nillable="true"
    type="xsd:string"/>
    <element name="password" nillable="true"
    type="xsd:string"/>
    <element name="title" nillable="true"
    type="xsd:string"/>
    <element name="username" nillable="true"
    type="xsd:string"/>
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    The classes in actionscript seem plausable:
    public class PersistentObject
    * Constructor, initializes the type class
    public function PersistentObject() {}
    public var id:String;
    public var insertTimeStamp:Date;
    public var insertUsername:String;
    public var updateTimeStamp:Date;
    public var updateUsername:String;
    and
    public class Contact extends PersistentObject
    * Constructor, initializes the type class
    public function Contact() {}
    public var birthday:Date;
    public var firstName:String;
    public var lastName:String;
    public var middleName:String;
    public var newPassword:String;
    public var password:String;
    public var title:String;
    public var username:String;
    When I want to retreive an object of type Contact, it seems
    that only a couple of entries are filled. While debugging the flex
    XMLDecoder, I noticed something strange. It seems, like the decoder
    is expecting the result xml data to be in alphabetical order:
    birthday, firstname, lastname, etc. But since the object is
    inherited, the data that is actually received contains elements
    from the parent class: birthday, firstname, id, inserttimestamp,
    The resulting object has just birthday and firstname filled,
    which is somehow wrong. This seems to be a problem inside the
    parser itself. What can I do?

    I am having a problem with an extended class as well.
    When I step through the code, everything is going fine and the decoder (mx.rpc.xml::XMLDecoder) sees that the class is an extension and wants to get the values for the superclass first.  When it gets into getApplicableValues(), it's looking for the values to be in the order of the definition which would be ok if the values collection didn't include the values from the subclass as well!  It goes through the whole definition and doesn't find anything for the superclass because the values aren't where it expects them.  When it pops back up to the subclass and starts to decode those values, it finds them because the definition order and values order match.
    Is this a known issue?  Or, am I misunderstanding something?
    Thanks,
    Chuck

  • Trial version problem with the wrie Create with the trial version

    help me
    trial version problem with the write Create with the trial version
    i wanna delete the Create with the trail version

    Publication on businCata I am sorry I do not understand your inquiry.  Can you please restate your question?  What Adobe software or service is your inquiry in relation too?

  • What is the problem with converting objects with gradients to gradient mesh?

    What is the problem with converting objects with gradients to gradient mesh?

    slange,
    There may arise some smaller corruption states that may be cured by what you did, as you can see in the list. Sometimes, restarting thrice is needed.
    The following is a general list of things you may try when the issue is not in a specific file (you may have tried/done some of them already); 1) and 2) are the easy ones for temporary strangenesses, and 3) and 4) are specifically aimed at possibly corrupt preferences); 5) is a list in itself, and 6) is the last resort.
    If possible/applicable, you should save curent artwork first, of course.
    1) Close down Illy and open again;
    2) Restart the computer (you may do that up to 3 times);
    3) Close down Illy and press Ctrl+Alt+Shift/Cmd+Option+Shift during startup (easy but irreversible);
    4) Move the folder (follow the link with that name) with Illy closed (more tedious but also more thorough and reversible);
    5) Look through and try out the relevant among the Other options (follow the link with that name, Item 7) is a list of usual suspects among other applications that may disturb and confuse Illy, Item 15) applies to CC, CS6, and maybe CS5);
    Even more seriously, you may:
    6) Uninstall, run the Cleaner Tool (if you have CS3/CS4/CS5/CS6/CC), and reinstall.
    http://www.adobe.com/support/contact/cscleanertool.html

  • I have a problem with a chart refreshing after its bound data provider changes.

    I have a problem with a chart refreshing after its bound data
    provider changes. After the subsetHighLowData.refresh() is called I
    would expect the chart to redraw, but it still looks the same. I
    even inspected the debugger to see if the slice had taken place and
    it had.
    Any ideas coding friends?

    "nikos101" <[email protected]> wrote in
    message
    news:gib6aa$prr$[email protected]..
    >I have a problem with a chart refreshing after its bound
    data provider
    >changes.
    > After the subsetHighLowData.refresh() is called I would
    expect the chart
    > to
    > redraw, but it still looks the same. I even inspected
    the debugger to see
    > if
    > the slice had taken place and it had.
    >
    > Any ideas coding friends?
    >
    > subsetHighLowData.source =
    >
    highLowData.source.slice(slider.values[0],slider.values[1]);
    Just use the ArrayCollection's removeItemAt, and it should
    handle the event
    dispatching for you.
    HTH;
    Amy

  • End User Doc. Create / Change Customer Master Data

    < MODERATOR:  Message locked.  Please read the [Rules of Engagement|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/home/rulesofEngagement] before posting next time. >
    Hi Experts,
    I would appreciate, if anyone of you could forward me the end user documents for creating & changing customer master data.
    sonicasmailbox at rediff
    Points will be assigned.
    Regards
    Sonica

    Hi
    Refer to help.sap.com for creating customer master data.
    Copy this to word document and it will be become user manual.
    http://help.sap.com/saphelp_ides/helpdata/en/47/ef8c64124811d2806f0000e8a495b3/content.htm
    Additionally refer to this weblink
    http://web.mit.edu/cao/www/AR/ar1/ar_FD01.htm - This if for FICO only.
    Changing customer master record.
    Use T.Code XD02.
    Enter Customer No,Company code,Sales Org, Distribution channel and division and press Enter or
    Enter Customer no,company code and click on customer's sales area, you will see Sales Org, Distribution channel and division,select the Sales org,Sales Org, Distribution channel and division and press enter.
    You can make necessary changes to customer master
    Please let me know if you need more information.
    Asssign points if useful.
    Regards
    Sridhar M

  • Hi! I have problems with my calender. The diarise of dates is sometimes not authentic, dates dissapeare or were put on a wrong day. Who can help?

    Hi! I have problems with my calender. The diarise of dates is sometimes not authentic, dates dissapeare or were put on a wrong day. Who can help?

    Don't worry I've sorted it! I just had to turn off Reminders as well in iCloud. Calendar then worked fine, even when I turned Calendar and Reminders back on.

  • Problem with Business object attributes in UWL Workitem description

    Hi All,
    I have developed a workflow which sends the workitem for two level approvals. Once the workflow is triggered workitem sent to the respective user for approval. When user opens the workitem in inbox he can see all the data which comes from the 'Z'  Business object in R/3 and he can approve the same. Everything works fine when this process happens in R/3 system.
    The problem comes when user opens this workitem in UWL or this workitem is sent to user mail ID executing  'SWN_SELSEN' report, all the attributes of the business object are displayed in the workitem description  except 2 . These are the Minimum annual salary(GRMIN) and  Maximum annual salary(GRMAX) fields from 'T510N'  table.
    Regards,
    Vaishali.
    Edited by: vaishali rautray on Dec 24, 2008 7:52 AM

    Hi Saumya,
    Thanks for the quick reply.
    For storing the Minimum and maximum annual salary values I have created two attributes in the business object which are referring to database fields. T510N is a customizing table. I could see the values for the same, if I test the Business Object or Trigger the w/f in R/3 and check the approval work item in R/3. These values disappears only in case of web interfacing i.e. If I send the same work item to outlook mail or check it in UWL.
    I had checked the same and thought if there is any problem with BO or some other processing takes place before these values are retrieved. But I wonder why this happens only if I process the work item outside R/3 system?
    Regards,
    Vaishali.

  • Create a custom tree

    Hello,
    I have a custom tree structure PDFnode:
    class PDFnode {
    private PDFnode parent;
    private ArrayList kids;
    Methods needed for working with the structure
    I want to create a JTree using my objects.
    How should I do that create this tree?
    Should I extend DefaultTreeModel or implement TreeModel?
    Please help me. I tried with some tutorials but no success.
    Thank you all for your help.

    carstos,
    I suggest you create a custommodel-to-treemodel adapter. See this thread:
    http://forum.java.sun.com/thread.jsp?forum=57&thread=401519
    --A                                                                                                                                                                                                                                                                                                           

  • Problem with sending objects to a package function

    Hello fellows,
    I am working on a project where I need to call a PL/SQL package's function and then work with the result.
    The procedure takes a custom object:
    CREATE OR REPLACE TYPE DTODOROV.my_object AS OBJECT
      ATTR1 VARCHAR2(255)
    )and the result is the same object.
    I have the following java code
    if(conn.isUsable()){
                    System.out.println("Connected!");
                    ocs = (OracleCallableStatement) conn.prepareCall("{? = call MYPACK.MF(?)}");
                    Object[] args1 = {"Petar"};
                    STRUCT ms = new STRUCT(new StructDescriptor("DTODOROV.MY_OBJECT", conn), conn, args1);
                    ocs.setObject(2, ms, OracleTypes.STRUCT);
                    ocs.registerOutParameter(1, OracleTypes.STRUCT,"DTODOROV.MY_OBJECT");
                    ocs.execute();
                    Object object = ocs.getObject(1);
                    System.out.println(((STRUCT)object).getAttributes()[0]);
                }And this is the body of my package:
    CREATE OR REPLACE PACKAGE BODY DTODOROV.myPack AS
      FUNCTION MF(Param1 MY_OBJECT) RETURN MY_OBJECT
    is
        myObjIn MY_OBJECT;
        myObjOut MY_OBJECT;
      BEGIN
        myObjIn:=Param1;
        if(myObjIn.ATTR1 &lt;&gt; null) then
        myObjOut:= new MY_OBJECT('Mitko');
        INSERT INTO DEBUG_INFO VALUES (myObjIn.ATTR1||'not empty');
        else
        myObjOut:= new MY_OBJECT('Oktim ');
        INSERT INTO DEBUG_INFO VALUES ('empty');
        end if;
        return myObjOut; 
      END;
    END myPack;
    /DEBUG_INFO is just a table with one column to check what is happening.
    The database is oracle 11g.
    JDBC driver is the latest from oracle.
    JDK is 1.6
    The java is intended to run as a web service on GlassFish (for now, or Tomcat later).
    And here is my problem. When I execute the java code the object i send to the procedure is null. What am I doing wrong? Because I get no exceptions or SQL errors. If you could give me some pointers as to how to easily debug such code?
    Thanks in advance,
    Mitko
    Edited by: DiTod on Apr 5, 2011 8:41 AM

    if (conn.isUsable()) {
                    System.out.println("Connected!");
                    ocs = (OracleCallableStatement) conn.prepareCall("{? = call MYPACK.MF(?)}");
                    Object[] args1 = {new CHAR("fa",CharacterSet.make(CharacterSet.UTF8_CHARSET))};
                    StructDescriptor sd = StructDescriptor.createDescriptor("DTODOROV.MY_OBJECT", conn);
                    STRUCT ms = new STRUCT(sd, conn, args1);
                    System.out.println(ms.dump());
                    ocs.setObject(2, ms, OracleTypes.STRUCT);
                    ocs.registerOutParameter(1, OracleTypes.STRUCT,"DTODOROV.MY_OBJECT");
                    ocs.execute();
                    Object object = ocs.getObject(1);
                    System.out.println(((STRUCT)object).getAttributes()[0]);
    }I think you mean this. But it is still not working :(
    Actually when I dump it I see that it has just one property and that it is from the correct type
    >
    name = DTODOROV.MY_OBJECT
    length = 1
    ATTR1 = fa
    >
    but something happens during the sending and in the database I don't recieve the object or it is null.
    Edited by: DiTod on Apr 5, 2011 8:46 AM

Maybe you are looking for