                         
                         switch character
                         {
-                        case "Z", "z":
-                            resultTokens.append(PathToken.close)
-                            parseState = .lookingForOperand
-                        case "l", "L", "H", "h", "Q", "q", "V", "v", "C", "c", "T", "t", "S", "s", "A", "a", "m", "M":
-                            self.tokenBuilder = TokenBuilder(pathString: pathString, operand: character)
-                            parseState = .buildingToken
-                        case " ", "\t", "\n", "\r", ",":
-                            parseState = .lookingForOperand
-                        default:
-                            
-                            guard newToken.impliesSubsequentOperand else
-                            {
-                                throw PathToken.FailureReason.missingMoveAtStart
+                            case "Z", "z":
+                                resultTokens.append(PathToken.close)
+                                parseState = .lookingForOperand
+                            case "l", "L", "H", "h", "Q", "q", "V", "v", "C", "c", "T", "t", "S", "s", "A", "a", "m", "M":
+                                self.tokenBuilder = TokenBuilder(pathString: pathString, operand: character)
+                                parseState = .buildingToken
+                            case " ", "\t", "\n", "\r", ",":
+                                parseState = .lookingForOperand
+                            default:
+                                
+                                guard newToken.impliesSubsequentOperand else
+                                {
+                                    throw PathToken.FailureReason.missingMoveAtStart
+                                }
+                                self.tokenBuilder = TokenBuilder(pathString: pathString, operand: newToken.impliedSubsequentOperand)
+                                parseState = .buildingToken
                             }
-                            self.tokenBuilder = TokenBuilder(pathString: pathString, operand: newToken.impliedSubsequentOperand)
-                            parseState = .buildingToken
-                        }
                         
                     }
                     else

        {
            switch parseState
            {
            case .lookingForOperand:
                break
            case .lookingForFirstOperand:
                throw PathToken.FailureReason.noOperands
            case .buildingToken:
                let lastToken = try self.tokenBuilder.buildToken()
                self.resultTokens.append(lastToken)
            }
            return self.resultTokens
        }

                && self.activeParameterStringLength > 0
                && !self.lookingForParameter
            
            switch testCharacter
            {
                case "l", "L", "H", "h", "Q", "q", "V", "v", "C", "c", "T", "t", "S", "s", "A", "a", "m", "M",  "z", "Z":
                    return true
                case "+", "-":
                    
                    if onLastParameter
                        && self.lastCharacter != "e"
                        && self.lastCharacter != "E" // might be of the form 1e-3
                    {
                        return true
                    }
                    else
                    {
                        return false
                    }
                case " ", "\t", "\n", "\r", ",":
                    if onLastParameter
                    {
                        return true
                    }
                    else
                    {
                        return false
                    }
                case ".":
                    if onLastParameter && (self.seenPeriod || self.seenExponent)
                    {
                        return true
                    }
                    else
                    {
                        return false
                    }
                    
                default:
                    return false
            }
            
        }
