public BOPType ProcessCurrBreg(int line) throws UnsupportBregExcption
	 {
		 BOPType btype = BOPType.NEXT_OP;
		 String currStr = strs.get(line);
		 if(currStr.contains("#include")) 
		 {
			 if( currStr.contains(Breg+".h")) // make sure it is breg.h not something like breg2.h
			 {
				 RemoveInclude(line);
			 }
			 btype = BOPType.CURRENT_LINE_DONE;
		 }
		 
		 int preLine = strsTraversalHelper.GetPreLine(line);
		 int nextLine = strsTraversalHelper.GetNextLine(line);
		 String pStr = strsTraversalHelper.GetNeighborStr(preLine, nextLine);
		 
	

		  if(btype == BOPType.NEXT_OP)
		  {
			  btype = CheckAndReplaceIFEqualStatement(preLine, nextLine, pStr);
		  }
		  if(btype == BOPType.NEXT_OP)
		  {
			  btype = CheckAndRemoveAssign(pStr, preLine, nextLine,line);
		  }
		  if(btype == BOPType.NEXT_OP)
		  {
			  btype = TypeProcessAndORCase(pStr, preLine, nextLine);
		  }
		  if(btype == BOPType.NEXT_OP)
		  {
			  btype =  TryProcessBregOnly(pStr);
		  }

			
		 if(btype == BOPType.CURRENT_LINE_REMOVE_OP)
         {
		    RemoveBlock(line,0 , !mybregValue);
		    btype = BOPType.CURRENT_LINE_DONE;
		 }
		 else if(btype == BOPType.CURRENT_LINE_REMOVE_OP_NEG)
         {
			RemoveBlock(line,0 , mybregValue);
			btype = BOPType.CURRENT_LINE_DONE;
		 }
         return btype;
		 
	 }