public static List intersectSignatures(Vector sig1, Vector sig2) {
    { List result = List.newList();

      { int i = Stella.NULL_INTEGER;
        int iter000 = 0;
        int upperBound000 = sig1.length() - 1;

        for (;iter000 <= upperBound000; iter000 = iter000 + 1) {
          i = iter000;
          if (Stella_Object.eqlP((sig1.theArray)[i], Stella.ONE_WRAPPER) &&
              Stella_Object.eqlP((sig2.theArray)[i], Stella.ONE_WRAPPER)) {
            result.push(IntegerWrapper.wrapInteger(i + 1));
          }
          if (Stella_Object.eqlP((sig1.theArray)[i], Stella.ZERO_WRAPPER) &&
              Stella_Object.eqlP((sig2.theArray)[i], Stella.ZERO_WRAPPER)) {
            result.push(IntegerWrapper.wrapInteger(0 - (i + 1)));
          }
        }
      }
      return (result);
    }
  }