public static void pprintRelationProposition(Proposition self, org.powerloom.PrintableStringWriter stream) {
    { int nargs = self.arguments.length();

      stream.print("(");
      OntosaurusUtil.pprintObject(self.operator, stream);
      Native.setIntSpecial(OntosaurusUtil.$PPRINT_INDENT$, ((Integer)(OntosaurusUtil.$PPRINT_INDENT$.get())).intValue() + 3);
      { boolean testValue000 = false;

        if (nargs >= 4) {
          testValue000 = true;
        }
        else {
          {
            testValue000 = nargs == 3;
            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) {
          { Stella_Object arg = null;
            Vector vector001 = self.arguments;
            int index001 = 0;
            int length001 = vector001.length();

            for (;index001 < length001; index001 = index001 + 1) {
              arg = (vector001.theArray)[index001];
              OntosaurusUtil.pprintNewline(stream);
              OntosaurusUtil.pprintObject(arg, stream);
            }
          }
        }
        else {
          { Stella_Object arg = null;
            Vector vector002 = self.arguments;
            int index002 = 0;
            int length002 = vector002.length();

            for (;index002 < length002; index002 = index002 + 1) {
              arg = (vector002.theArray)[index002];
              if (OntosaurusUtil.pprintAsAtomicObjectP(arg)) {
                stream.print(" ");
              }
              else {
                OntosaurusUtil.pprintNewline(stream);
              }
              OntosaurusUtil.pprintObject(arg, stream);
            }
          }
        }
      }
      Native.setIntSpecial(OntosaurusUtil.$PPRINT_INDENT$, ((Integer)(OntosaurusUtil.$PPRINT_INDENT$.get())).intValue() - 3);
      stream.print(")");
    }
  }