import java.util.Scanner; 
import java.util.NoSuchElementException; 

public class Boundary {
		static private boolean parse(String data, String boundary) { 
			String dataCopy = new String(data); 
			String bodyPart="";
			try { 
				Scanner scanner = new Scanner(dataCopy); 
				try { 
					scanner.useDelimiter("-" + boundary + "(-)?"); 
					while (scanner.hasNext()) { 
						 bodyPart = scanner.next(); 
					} 
				} finally { 
					
					if (scanner != null) 
						scanner.close(); 
				} 
			} catch (NoSuchElementException e) { 
				System.out.println("Caught NoSuchElementException " + e); 
				e.printStackTrace(); 
				return false; 
			} 

			return true; 
		} 

		public static void main (String argv[]) { 
			final String boundary = ";"; 

			for ( int i = 0; i < 10000; ++i ) { 
				StringBuilder data = new StringBuilder(); 
				data.append("--" + boundary); 
				for (int j = 0; j< i; ++j) { 
					data.append(j%10); 
				} 

				data.append("-" + boundary + "-"); 
				boolean ret=parse(data.toString(), boundary); 
				if (!ret) { 
					System.out.println("parse returned " + ret + " i=" +i); 
				} 
			} 
		} 
} 