Program: 181105
Project: 181105
Buggy source:
/** 
 * Testing                                                                     
 */
public static void main(String[] args){
  PSTPoint[] testPoints;
  if (args.length < 1) {
    testPoints=new PSTPoint[9];
    testPoints[0]=new PSTPoint(0,8);
    testPoints[1]=new PSTPoint(1,7);
    testPoints[2]=new PSTPoint(2,6);
    testPoints[3]=new PSTPoint(3,5);
    testPoints[4]=new PSTPoint(4,4);
    testPoints[5]=new PSTPoint(5,3);
    testPoints[6]=new PSTPoint(6,2);
    testPoints[7]=new PSTPoint(7,1);
    testPoints[8]=new PSTPoint(8,0);
    System.out.print("String_Node_Str");
    printArray(testPoints);
    InPlacePST ippst=new InPlacePST(testPoints);
    System.out.print("String_Node_Str");
    ippst.printArray();
  }
 else {
    System.out.println("String_Node_Str");
    int n=Integer.parseInt(args[0]);
    testPoints=new PSTPoint[2 * n];
    int count=0;
    for (int i=-n; i < n; i++) {
      if ((i % 2) == 0)       testPoints[count++]=new PSTPoint(i,i + n);
 else       testPoints[count++]=new PSTPoint(-i,-(i + n));
    }
    System.out.println("String_Node_Str" + (2 * n) + "String_Node_Str");
    if (n < 10) {
      System.out.print("String_Node_Str");
      printArray(testPoints);
    }
    InPlacePST ippst=new InPlacePST(testPoints);
    if (n < 10) {
      System.out.print("String_Node_Str");
      ippst.printArray();
    }
    System.out.println("String_Node_Str" + ippst.leftMostNE(-10,-10));
    System.out.println("String_Node_Str" + ippst.highestNE(1,-10));
    System.out.println("String_Node_Str" + ippst.highest3Sided(4,5,0));
    System.out.print("String_Node_Str");
    printArray(ippst.enumerate3Sided(1,7,-8).toArray(new PSTPoint[0]));
  }
}

Fixed version (ground truth):
/** 
 * Testing                                                                     
 */
public static void main(String[] args){
  PSTPoint[] testPoints;
  if (args.length < 1) {
    testPoints=new PSTPoint[7];
    testPoints[0]=new PSTPoint(0,8);
    testPoints[1]=new PSTPoint(1,7);
    testPoints[2]=new PSTPoint(2,6);
    testPoints[3]=new PSTPoint(3,5);
    testPoints[4]=new PSTPoint(4,4);
    testPoints[5]=new PSTPoint(5,3);
    testPoints[6]=new PSTPoint(6,2);
    System.out.print("String_Node_Str");
    printArray(testPoints);
    InPlacePST ippst=new InPlacePST(testPoints);
    System.out.print("String_Node_Str");
    ippst.printArray();
  }
 else {
    System.out.println("String_Node_Str");
    int n=Integer.parseInt(args[0]);
    testPoints=new PSTPoint[2 * n];
    int count=0;
    for (int i=-n; i < n; i++) {
      if ((i % 2) == 0)       testPoints[count++]=new PSTPoint(i,i + n);
 else       testPoints[count++]=new PSTPoint(-i,-(i + n));
    }
    System.out.println("String_Node_Str" + (2 * n) + "String_Node_Str");
    if (n < 10) {
      System.out.print("String_Node_Str");
      printArray(testPoints);
    }
    InPlacePST ippst=new InPlacePST(testPoints);
    if (n < 10) {
      System.out.print("String_Node_Str");
      ippst.printArray();
    }
    System.out.println("String_Node_Str" + ippst.leftMostNE(-10,-10));
    System.out.println("String_Node_Str" + ippst.highestNE(1,-10));
    System.out.println("String_Node_Str" + ippst.highest3Sided(4,5,0));
    System.out.print("String_Node_Str");
    printArray(ippst.enumerate3Sided(1,7,-8).toArray(new PSTPoint[0]));
  }
}