def get_resource(self, base_resource_path, resource_path, method=None):
        """
            Gets a resource by it's path and optional by it's method

            This method does not care about the supported resource methods
            unless it is specified.

            :param str resource_path: The path of the resource
            :param str method: The method of the path.

            :returns: the resource if it exists or None
            :rtype: ResourceNode
        """
        basic_path = base_resource_path + resource_path
        dynamic_path = base_resource_path + "{" + resource_path + "}"
        for resource in self.raml.resources:
            method_matched = method is None or resource.method == method
            if method_matched and (resource.path == basic_path
                                   or resource.path == basic_path + '/'):
                return resource

            if resource.path == dynamic_path and method_matched:
                return NodeParameter(resource=resource, parameter=resource_path)
        return None
Gets a resource by it's path and optional by it's method

            This method does not care about the supported resource methods
            unless it is specified.

            :param str resource_path: The path of the resource
            :param str method: The method of the path.

            :returns: the resource if it exists or None
            :rtype: ResourceNode