diff --git a/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/Parser.java b/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/Parser.java
index bfb5d65c..13a95fee 100644
--- a/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/Parser.java
+++ b/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/Parser.java
@@ -122,12 +122,19 @@ public void reset()
/**
* {@inheritDoc}
+ *
+ * If {@code n} is less than 0, no values will be skipped.
*/
@Override
public long skip(final long n)
{
long chars = Math.min(string.length() - pos, n);
- pos += chars;
+ chars = Math.max(chars, 0);
+
+ // The left side of Math.min() is an integer, and 'chars' will always be
+ // non-negative, so 'chars' can always be represented as an int.
+ pos += (int) chars;
+
return chars;
}
diff --git a/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/StaticUtils.java b/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/StaticUtils.java
index 2c887504..08ebfccb 100644
--- a/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/StaticUtils.java
+++ b/scim2-sdk-common/src/main/java/com/unboundid/scim2/common/utils/StaticUtils.java
@@ -28,16 +28,12 @@
import java.util.List;
import java.util.Objects;
import java.util.Set;
-import java.util.regex.Pattern;
/**
* This class provides a number of static utility functions.
*/
public final class StaticUtils
{
- @NotNull
- private static final Pattern SEPARATOR = Pattern.compile("\\s*,\\s*");
-
/**
* Prevent this class from being instantiated.
*/
@@ -240,7 +236,13 @@ public static Set arrayToSet(@NotNull final T... i)
@NotNull
public static String[] splitCommaSeparatedString(@NotNull final String str)
{
- return SEPARATOR.split(str.trim());
+ var separatedArray = str.split(",");
+ for (int i = 0; i < separatedArray.length; i++)
+ {
+ separatedArray[i] = separatedArray[i].trim();
+ }
+
+ return separatedArray;
}