public Integer read(ShortTermMemoryReader reader) throws RowColumnReaderException { try { removeSpaces(reader); char c = (char) reader.read(); if (Character.isDigit(c) || c == '-' || c == '+') { StringBuilder sb = new StringBuilder(); sb.append(c); readDigitStar(reader, sb); return Integer.parseInt(sb.toString()); } throw new Exception("Unexpected symbol " + c); } catch (Exception e) { throw reader.getException("Integer Parser Error " + e.getMessage()); } }