private String[] getCaps(final Plugin plugin) {
        final Class<? extends Plugin> spawnClass = plugin.getClass();

        final Method[] methods = spawnClass.getMethods();

        // Search for proper method
        for (final Method method : methods) {

            // Init methods will be marked by the corresponding annotation.
            final Capabilities caps = method.getAnnotation(Capabilities.class);
            if (caps != null) {

                Object result = null;
                try {
                    result = method.invoke(plugin, new Object[0]);
                } catch (final IllegalArgumentException e) {
                    //
                } catch (final IllegalAccessException e) {
                    //
                } catch (final InvocationTargetException e) {
                    //
                }
                if (result != null && result instanceof String[])
                    return (String[]) result;
            }
        }

        return new String[0];
    }