Buggy code:
public class Vector3 extends Vector2 implements Vector { protected double z ; public Vector3 ( ) { } public Vector3 ( double x , double y , double z ) { } public double getZ ( ) { } public void addZ ( double z ) { } public void setZ ( double z ) { } public Vector3 set ( double x , double y , double z ) { } public Vector3 set ( double a ) { } public void setComponent ( int index , double value ) { } public double getComponent ( int index ) { } public Vector3 copy ( Vector3 v ) { } @ Override public Vector3 add ( Vector v ) { } @ Override public Vector3 add ( Vector v1 , Vector v2 ) { } @ Override public Vector3 add ( double s ) { } @ Override public Vector3 sub ( Vector v ) { } @ Override public Vector3 sub ( Vector v1 , Vector v2 ) { } @ Override public Vector3 multiply ( Vector v ) { } @ Override public Vector3 multiply ( Vector v1 , Vector v2 ) { } @ Override public Vector3 multiply ( double s ) { } public Vector3 applyEuler ( Euler euler ) { } public Vector3 applyAxisAngle ( Vector3 axis , double angle ) { } public Vector3 apply ( Matrix3 m ) { } public Vector3 apply ( Matrix4 m ) { } public Vector3 applyProjection ( Matrix4 m ) { double x = this . x ; double y = this . y ; double z = this . z ; Float32Array e = m . getArray ( ) ; <START_BUG> double d = 1 // ( ( ( ( ( e . get ( 3 ) ) * x ) + ( ( e . get ( 7 ) ) * y ) ) + ( ( e . get ( 11 ) ) * z ) ) + ( e . get ( 15 ) ) ) ; <END_BUG> this . x = ( ( ( ( ( e . get ( 0 ) ) * x ) + ( ( e . get ( 4 ) ) * y ) ) + ( ( e . get ( 8 ) ) * z ) ) + ( e . get ( 12 ) ) ) * d ; this . y = ( ( ( ( ( e . get ( 1 ) ) * x ) + ( ( e . get ( 5 ) ) * y ) ) + ( ( e . get ( 9 ) ) * z ) ) + ( e . get ( 13 ) ) ) * d ; this . z = ( ( ( ( ( e . get ( 2 ) ) * x ) + ( ( e . get ( 6 ) ) * y ) ) + ( ( e . get ( 10 ) ) * z ) ) + ( e . get ( 14 ) ) ) * d ; return this ; } public Vector3 apply ( Quaternion q ) { } public Vector3 project ( Camera camera ) { } public Vector3 unproject ( Camera camera ) { } public Vector3 transformDirection ( Matrix4 m ) { } @ Override public Vector3 divide ( Vector v ) { } @ Override public Vector3 divide ( Vector v1 , Vector v2 ) { } @ Override public Vector3 divide ( double scalar ) { } public Vector3 min ( Vector3 v ) { } public Vector3 max ( Vector3 v ) { } public Vector3 clamp ( Vector3 min , Vector3 max ) { } public Vector3 clamp ( double minVal , double maxVal ) { } public Vector3 floor ( ) { } public Vector3 ceil ( ) { } public Vector3 round ( ) { } public Vector3 roundToZero ( ) { } @ Override public Vector3 negate ( ) { } public double dot ( Vector3 v1 ) { } public double lengthSq ( ) { } public double length ( ) { } public double lengthManhattan ( ) { } @ Override public Vector3 normalize ( ) { } public Vector3 setLength ( double l ) { } public Vector3 lerp ( Vector3 v1 , double alpha ) { } public Vector3 cross ( Vector3 a , Vector3 b ) { } public Vector3 cross ( Vector3 v ) { } public Vector3 projectOnVector ( Vector3 vector ) { } public Vector3 projectOnPlane ( Vector3 planeNormal ) { } public Vector3 reflect ( Vector3 normal ) { } public double angleTo ( Vector3 v ) { } @ Override public double distanceTo ( Vector v1 ) { } @ Override public double distanceToSquared ( Vector v1 ) { } public Vector3 setFromMatrixPosition ( Matrix4 m ) { } public Vector3 setFromMatrixScale ( Matrix4 m ) { } public Vector3 setFromMatrixColumn ( int index , Matrix4 matrix ) { } public boolean equals ( Vector3 v1 ) { } public Vector3 fromArray ( Float32Array array ) { } public Vector3 fromArray ( Float32Array array , int offset ) { } public Float32Array toArray ( ) { } public Float32Array toArray ( Float32Array array , int offset ) { } @ Override public Vector3 clone ( ) { } @ Override public String toString ( ) { } }

Fix:
double d = 1.0 // ( ( ( ( ( e . get ( 3 ) ) * x ) + ( ( e . get ( 7 ) ) * y ) ) + ( ( e . get ( 11 ) ) * z ) ) + ( e . get ( 15 ) ) ) ;