def look_at_obj(self, objecttype):
    # Step 1: Find the object
    entity = self.find_object(objecttype)
    if entity is None:
        # If the object is not found, explore the environment
        self.explore()
        return
    
    # Step 2: Pick the object if not already holding it
    if self.holding is None or self.name2type(self.holding) != self.name2type(objecttype):
        # Go to the object's receptacle
        self.goto(entity.in_on)
        r_entity = self.seen_entitys[entity.in_on]
        
        # Open the receptacle if it is closed
        if r_entity.openable and not r_entity.isopen:
            self.open_receptacle(r_entity.name)
        
        # Take the object
        self.take(entity.name, entity.in_on)
    
    # Step 3: Find a desklamp
    desklamp = self.find_receptacle('desklamp')
    if desklamp is None:
        # If no desklamp is found, explore the environment
        self.explore()
        return
    
    # Step 4: Turn on the desklamp
    self.goto(desklamp.name)
    self.turn_on(desklamp.name)
    
    # Now the object can be examined under the light of the desklamp
    print(f"Examining {entity.name} under the light of {desklamp.name}.")