public String getNeighbourClassificationBTR()
    {
	if(this.getFrequency() > 1)
	{
	    if(this.getFrequency() == this.positive) // all instances are positive.
		return Constants.PULSAR;
	    else if(this.getFrequency() == this.negative)
		return Constants.RFI; // all instances are negative.
	    else if(this.getFrequency() == this.unknown)
		return Constants.RFI; // all instances are unknown.
	    else
	    {
		// If we reach here then there are a number of positive/negative/unknown
		// all at the precise same point. In this case we randomly pick one.
		Random r = new Random();
		int min= 1 , max = this.getFrequency();

		// nextInt is normally exclusive of the top value,
		// so add 1 to make it inclusive
		int randomNum = r.nextInt(max - min + 1) + min;

		// if the random number is in the range of the positives
		// then assign a positive class
		if (randomNum >= 1 && randomNum <= positive)
		    return Constants.PULSAR;
		else if (randomNum >= positive+1 && randomNum <= positive+negative)// assign a negative classification.
		    return Constants.RFI;
		else
		    return Constants.UNKNOWN; // else unknown has been chosen.
	    }
	}
	else // only one instance at this point
	{
	    if(this.positive > this.negative)
		return Constants.PULSAR;
	    else if(this.positive < this.negative)
		return Constants.RFI;
	    else
		return Constants.UNKNOWN;
	}
    }