code: public static AGeneralOperation getOperation(OperationType operationType){
  		switch(operationType){
  			case BASIC_INSTRUCTION:			   return new BasicOperation();			
  			case BASIC_CONVERSION:             return new BasicConversion();			
  			case OBJECT:					   return new ObjectOperation();			
  			case ARRAY: 					   return new ArrayOperation();			
  			case ARRAY_LIST:				   return new ArrayListOperation();		
  			case LIST_ARRAY:			       return new ListArrayOperation();		
  			case ARRAY_WITH_MAPPED_ITEMS:	   return new MappedArrayOperation();		
  			case ARRAY_LIST_WITH_MAPPED_ITEMS: return new MappedArrayListOperation();	
  			case LIST_ARRAY_WITH_MAPPED_ITEMS: return new MappedListArrayOperation();	
  			case COLLECTION: 				   return new CollectionOperation();		
  			case COLLECTION_WITH_MAPPED_ITEMS: return new MappedCollectionOperation();	
  			case MAP:	     				   return new MapOperation();				
  			case MAP_WITH_MAPPED_ITEMS: 	   return new MappedMapOperation();		
  			case CONVERSION: 				   return new ConversionOperation();
  			case DATE_CALENDAR:				   return new DateCalendarOperation();
  			case STRING_ENUM: 				   return new StringEnumOperation();
  			case STRING_STRINGBUFFER:		   return new StringStringBufferOperation();
  			case STRING_STRINGBUILDER:		   return new StringStringBuilderOperation();
  			case CALENDAR_DATE:				   return new CalendarDateOperation();
  			case ENUM_STRING:				   return new EnumStringOperation();
  			case STRINGBUILDER_STRING:         return new StringBuilderStringOperation();
  			case STRINGBUFFER_STRING:		   return new StringBufferStringOperation();
  			case ENUM_ENUM: 				   return new EnumEnumOperation();
  			default: return null;
  		}
  		
  	}
docs: Operation factory.
  @param operationType operation type
  @return the operation instance relative to this operationType