code: def changed(self, node=None, allowcache=False):
          
          if node is None:
              try:
                  return self._memo['changed']
              except KeyError:
                  pass
  
          has_changed = SCons.Node.Node.changed(self, node)
          if allowcache:
              self._memo['changed'] = has_changed
          return has_changed
docs: Returns if the node is up-to-date with respect to the BuildInfo
          stored last time it was built.
  
          For File nodes this is basically a wrapper around Node.changed(),
          but we allow the return value to get cached after the reference
          to the Executor got released in release_target_info().
  
          @see: Node.changed()