public static Proposition createContainedByArgument(Stella_Object collection, List bridgeargs) {
    { Proposition proposition = null;
      Stella_Object thecollection = collection;
      int arity = 1;

      { Surrogate testValue000 = Stella_Object.safePrimaryType(collection);

        if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_NAMED_DESCRIPTION)) {
          { NamedDescription collection000 = ((NamedDescription)(collection));

            if (Logic.classP(collection000)) {
              proposition = Logic.createProposition(Logic.SYM_STELLA_ISA, 1);
              proposition.operator = collection000.surrogateValueInverse;
              (proposition.arguments.theArray)[0] = (bridgeargs.first());
              return (proposition);
            }
            else {
              proposition = Logic.createProposition(Logic.SYM_STELLA_PREDICATE, collection000.arity());
              proposition.operator = collection000.surrogateValueInverse;
              { Stella_Object arg = null;
                Cons iter000 = bridgeargs.theConsList;
                int i = Stella.NULL_INTEGER;
                int iter001 = 0;

                for (;!(iter000 == Stella.NIL); iter000 = iter000.rest, iter001 = iter001 + 1) {
                  arg = iter000.value;
                  i = iter001;
                  (proposition.arguments.theArray)[i] = arg;
                }
              }
              return (proposition);
            }
          }
        }
        else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_DESCRIPTION)) {
          { Description collection000 = ((Description)(collection));

            arity = collection000.arity();
            thecollection = Logic.instantiateExternalBindings(collection000);
          }
        }
        else {
        }
      }
      proposition = Logic.createProposition(Logic.SYM_STELLA_PREDICATE, 2);
      proposition.operator = Logic.SGT_PL_KERNEL_KB_MEMBER_OF;
      (proposition.arguments.theArray)[0] = (((arity > 1) ? bridgeargs : bridgeargs.first()));
      (proposition.arguments.theArray)[1] = thecollection;
      return (proposition);
    }
  }