diff --git a/minisqlquery-master/src/MiniSqlQuery.Core/PlugInComparer.cs b/minisqlquery-master/src/MiniSqlQuery.Core/PlugInComparer.cs
new file mode 100644
index 0000000..f06e796
--- /dev/null
+++ b/minisqlquery-master/src/MiniSqlQuery.Core/PlugInComparer.cs
@@ -0,0 +1,51 @@
+#region License
+
+// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
+// This source code is made available under the terms of the GNU Lesser General Public License v3.0
+// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
+
+#endregion
+
+using System.Collections.Generic;
+
+namespace MiniSqlQuery.Core
+{
+ /// <summary>
+ /// Used for sorting plugins at load time, a very simple ordering system for the plugins.
+ /// </summary>
+ public class PlugInComparer : IComparer<IPlugIn>
+ {
+ /// <summary>
+ /// Orders two plugin classes.
+ /// </summary>
+ /// <param name = "x">The left side object.</param>
+ /// <param name = "y">The right side object.</param>
+ /// <returns>The compare result.</returns>
+ public int Compare(IPlugIn x, IPlugIn y)
+ {
+ int result;
+
+ if (x == null && y == null)
+ {
+ result = 0;
+ }
+ else if (y == null)
+ {
+ result = -1;
+ }
+ else if (x == null)
+ {
+ result = 1;
+ }
+ else
+ {
+ int numX = x.RequestedLoadOrder;
+ int numY = y.RequestedLoadOrder;
+
+ result = numX - numY;
+ }
+
+ return result;
+ }
+ }
+}
\ No newline at end of file