public static void pprintFunctionTerm(Proposition self, org.powerloom.PrintableStringWriter stream) {
    stream.print("(");
    OntosaurusUtil.pprintObject(self.operator, stream);
    { boolean testValue000 = false;

      if (self.arguments.length() >= 5) {
        testValue000 = true;
      }
      else {
        {
          testValue000 = self.arguments.length() == 4;
          if (testValue000) {
            { boolean alwaysP000 = true;

              { Stella_Object arg = null;
                Vector vector000 = self.arguments;
                int index000 = 0;
                int length000 = vector000.length();

                loop000 : for (;index000 < length000; index000 = index000 + 1) {
                  arg = (vector000.theArray)[index000];
                  if (!(!OntosaurusUtil.shortTermP(arg))) {
                    alwaysP000 = false;
                    break loop000;
                  }
                }
              }
              testValue000 = alwaysP000;
            }
          }
        }
      }
      if (testValue000) {
        { int indent = (self.operator.symbolName).length() + 2;
          boolean firstP = true;

          Native.setIntSpecial(OntosaurusUtil.$PPRINT_INDENT$, ((Integer)(OntosaurusUtil.$PPRINT_INDENT$.get())).intValue() + indent);
          { Stella_Object arg = null;
            Iterator iter000 = self.arguments.butLast();

            while (iter000.nextP()) {
              arg = iter000.value;
              if (firstP) {
                {
                  stream.print(" ");
                  firstP = false;
                }
              }
              else {
                OntosaurusUtil.pprintNewline(stream);
              }
              OntosaurusUtil.pprintObject(arg, stream);
            }
          }
          Native.setIntSpecial(OntosaurusUtil.$PPRINT_INDENT$, ((Integer)(OntosaurusUtil.$PPRINT_INDENT$.get())).intValue() - indent);
        }
      }
      else {
        { Stella_Object arg = null;
          Iterator iter001 = self.arguments.butLast();

          while (iter001.nextP()) {
            arg = iter001.value;
            stream.print(" ");
            OntosaurusUtil.pprintObject(arg, stream);
          }
        }
      }
    }
    stream.print(")");
  }