private static String parse(String contents, int offset) { if (contents == null || offset < 0 || contents.length() < offset || !isJavaIdentifierOrPeriod(contents.charAt(offset))) { return null; } int start = offset; while (start - 1 > -1 && isJavaIdentifierOrPeriod(contents.charAt(start - 1))) { start--; } int end = offset; while (end <= contents.length() && isJavaIdentifierOrPeriod(contents.charAt(end))) { end++; } if (end >= start) { return contents.substring(start, end); } return null; }