private CollectionType get_collection_type(Class<?> in_class){
		LinkedList<Class<?>> in_class_inherit_list = get_inherit_list(in_class);
		int list_size = in_class_inherit_list.size();
		CollectionType return_result = CollectionType.none;
		if(list_size > 3 && in_class_inherit_list.get(list_size - 2).equals(AbstractCollection.class)){
			Class<?> conllection_type = in_class_inherit_list.get(list_size - 3);
			if(conllection_type.equals(AbstractList.class)){
				return_result = CollectionType.list;
			}
			else if(conllection_type.equals(AbstractSet.class)){
				return_result = CollectionType.set;
			}
		}
		else if(in_class_inherit_list.get(list_size - 2).equals(AbstractMap.class)){
			return_result = CollectionType.map;
		}
		return return_result;
	}