public static KeyValueList findGoalCacheTable(Proposition goal) {
    { Keyword testValue000 = goal.kind;

      if ((testValue000 == Logic.KWD_ISA) ||
          ((testValue000 == Logic.KWD_PREDICATE) ||
           (testValue000 == Logic.KWD_FUNCTION))) {
        { NamedDescription description = Logic.getDescription(((Surrogate)(goal.operator)));

          if (((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue()) {
            return (((KeyValueList)(KeyValueList.dynamicSlotValue(description.dynamicSlots, Logic.SYM_LOGIC_NEGATED_GOAL_CACHE_TABLE, null))));
          }
          else {
            return (((KeyValueList)(KeyValueList.dynamicSlotValue(description.dynamicSlots, Logic.SYM_LOGIC_GOAL_CACHE_TABLE, null))));
          }
        }
      }
      else {
        return (null);
      }
    }
  }