/// <summary>
        /// Add completion data and search through the Java library for more related data
        /// </summary>
        private static void AddCompletionData(string data)
        {
            AddCompletion_Data(data);

            java.lang.Class c = java.lang.Class.forName(data);
            if (c == null)
            {
                return;
            }
            AddCompletion_Data(c.getSimpleName());


            Parallel.ForEach(c.getDeclaredFields(), field =>
            {
                lock (CompletionList)
                {
                    if (Modifier.isPublic(field.getModifiers()))
                    {
                        AddCompletion_Data(c.getSimpleName() + "." + field.getName());
                    }
                }
            });
            Parallel.ForEach(c.getDeclaredMethods(), method =>
            {
                lock (CompletionList)
                {
                    if (Modifier.isPublic(method.getModifiers()))
                    {
                        AddCompletion_Data(c.getSimpleName() + "." + method.getName() + "(");
                    }
                }
            });
        }