code: private static boolean functionsAreAllowed(boolean isAddAllFunction, boolean isPutAllFunction,Class<?> classD,Class<?> classS)	{
  		
  		if(isAddAllFunction)
  			return collectionIsAssignableFrom(classD) && collectionIsAssignableFrom(classS);
  		
  		if(isPutAllFunction)
  			return mapIsAssignableFrom(classD) && mapIsAssignableFrom(classS);
  	
  		return isAssignableFrom(classD,classS);
  		
  	}
docs: Returns true if the function to check is allowed.
  @param isAddAllFunction true if addAll method is to check
  @param isPutAllFunction true if putAll method is to check
  @param classD destination class
  @param classS source class
  @return true if the function to check is allowed