private void processLine(List<String> parts, Channel channel, ChannelHandlerContext channelHandlerContext)
throws UnknownCommandException, MalformedCommandException {
final int numParts = parts.size();
// Turn the command into an enum for matching on
Command cmdType;
try {
cmdType = Command.valueOf(parts.get(0).toUpperCase());
} catch (IllegalArgumentException e) {
throw new UnknownCommandException("unknown command: " + parts.get(0).toLowerCase());
}