private static void marshal() throws JAXBException, PropertyException {
		/*
		 * AtomicValidator<Employee> validator1 = new
		 * AtomicValidator<Employee>(); validator1.setField("field1");
		 * validator1.setValue("3"); validator1.setOperator(new
		 * UnaryLogicalNotOperator<Boolean>());
		 * 
		 * AtomicValidator<Employee> validator2 = new
		 * AtomicValidator<Employee>(); validator2.setField("field2");
		 * validator2.setValue("4"); validator2.setOperator(new
		 * UnaryLogicalNotOperator<Boolean>());
		 * 
		 * BinaryValidator<Employee> binaryValidator = new
		 * BinaryValidator<Employee>(validator1, validator2, new
		 * BinaryLogicalAndOperator<Boolean>());
		 */

		Employee employee = new Employee();
		employee.setId(2);
		employee.setName("gaurav");
		employee.setDateOfJoining(new Date());

		JAXBContext context = JAXBContext.newInstance(Employee.class/*
																	 * ,
																	 * Validator
																	 * .class,
																	 * BinaryValidator
																	 * .class,
																	 * AtomicValidator
																	 * .class,
																	 * BinaryLogicalAndOperator
																	 * .class,
																	 * UnaryLogicalNotOperator
																	 * .class
																	 */);
		Marshaller m = context.createMarshaller();
		m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

		// Write to System.out
		m.marshal(employee, System.out);
	}