import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.regex.Pattern;

public class JI9052128 {

	public static void main(String[] args) {
		Pattern p = Pattern.compile("a(?-i)b", Pattern.CASE_INSENSITIVE ); 
		System.out.println(p.matcher("Ab").matches() ); 
		System.out.println(p.matcher("AB").matches() ); 
		p = serializeAndDeserialize(p); 
		System.out.println(p.matcher("Ab").matches() ); 
		System.out.println(p.matcher("AB").matches() ); 
	} 

	private static Pattern serializeAndDeserialize(Pattern pattern){ 
		try { 
			ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
			ObjectOutputStream oos = new ObjectOutputStream(baos); 
			oos.writeObject(pattern); 
			oos.close(); 
			ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())); 
			Pattern serializedPattern = (Pattern) ois.readObject(); 
			ois.close(); 

			return serializedPattern; 
		} catch( IOException | ClassNotFoundException ioe) { 
			ioe.printStackTrace(); 
			return null; 
		} 

	}

}
