code: private static boolean checkCriticalValue(double score, int n, double aLevel) {
          boolean rejected=false;
  
          double criticalValue = Double.MAX_VALUE;
          
          double aLevelKey = aLevel;
          if(!CRITICAL_VALUES.containsKey(aLevelKey)) { //if the particular aLevel is not a default one take the closest one
              double significanceValue = 0.0;
              for(Map.Entry<Object, AssociativeArray> entry : CRITICAL_VALUES.entrySet()) {
                  significanceValue = TypeInference.toDouble(entry.getKey());
                  //AssociativeArray scoreList = entry.getValue();
                  
                  if(significanceValue<=aLevel) { //add the closest one
                      aLevelKey=significanceValue; 
                      break;
                  }
              }
              
              if(!CRITICAL_VALUES.containsKey(aLevelKey)) { //it is possible that we still have not found a proper aLevel. This happens when the requested aLevel is close to 0.99999... In that case we take the largest (last)
                  aLevelKey = significanceValue; //get the last available significance value on the CRITICAL_VALUES array
              }
          }
  
          
          if(CRITICAL_VALUES.containsKey(aLevelKey)) { //the aLevelKey is one of the standards, we can use the tables
              if(CRITICAL_VALUES.get(aLevelKey).containsKey(n)) { //if the n value exists within the table use the exact percentage
                  criticalValue = CRITICAL_VALUES.get(aLevelKey).getDouble(n);
              }
              else {
                  //the n is too large, use the approximation
                  criticalValue=CRITICAL_VALUES.get(aLevelKey).getDouble(0);
                  criticalValue/=Math.sqrt(n);
              }
          }
  
  
          if(score>criticalValue) {
              rejected=true; 
          }
  
          return rejected;
      }
docs: Checks the Critical Value to determine if the Hypothesis should be rejected
  
  @param score
  @param n
  @param aLevel
  @return