code: public boolean process( List<AssociatedPair> points , FastQueue<DMatrixRMaj> solutions ) {
  		if( points.size() != 7 )
  			throw new IllegalArgumentException("Must be exactly 7 points. Not "+points.size()+" you gelatinous piece of pond scum.");
  
  		// reset data structures
  		solutions.reset();
  
  		// must normalize for when points are in either pixel or calibrated units
  		// TODO re-evaluate decision to normalize for calibrated case
  		LowLevelMultiViewOps.computeNormalization(points, N1, N2);
  
  		// extract F1 and F2 from two null spaces
  		createA(points,A);
  
  		if (!process(A))
  			return false;
  
  		// Undo normalization on F
  		PerspectiveOps.multTranA(N2.matrix(),F1,N1.matrix(),F1);
  		PerspectiveOps.multTranA(N2.matrix(),F2,N1.matrix(),F2);
  
  		// compute polynomial coefficients
  		computeCoefficients(F1, F2, poly.c);
  
  		// Find polynomial roots and solve for Fundamental matrices
  		computeSolutions( solutions );
  
  		return true;
  	}
docs: <p>
  Computes a fundamental or essential matrix from a set of associated point correspondences.
  </p>
  
  @param points Input: List of corresponding image coordinates. In pixel for fundamental matrix or
  normalized coordinates for essential matrix.
  @param solutions Output: Storage for the found solutions.
  @return true If successful or false if it failed