public Expression lookup( String name ) {
      
      if ( ! environment.containsKey(name) && this.parent == null ) {
         System.err.println("Error in DeferredSubst.lookup() looking up " + name + " - Unbound identifier!");
         System.exit(1);
      }
      else if ( ! environment.containsKey(name) ) {
         return this.parent.lookup(name);
      }
      
      return environment.get(name);
   }