public MoveCommand ReadMoveCommand()
    {
        Point startPoint;
        Point finishPoint;
        Point killedCheckerPoint;
        Boolean crowned;
        Boolean endOfTurn;
        try
        {
            try
            {
                startPoint = (Point) reader.readObject();
                finishPoint = (Point) reader.readObject();
                killedCheckerPoint = (Point) reader.readObject();;
                crowned = (Boolean) reader.readObject();
                endOfTurn = (Boolean) reader.readObject();
            }
            catch (ClassNotFoundException ex)
            {
                System.out.println("ClassNotFoundException: " + ex.getMessage());
                return null;
            }
        }
        catch (IOException e)
        {
            System.out.println("Stream reading error: " + e.getMessage());
            return null;
        }
        if(startPoint != null && finishPoint != null && killedCheckerPoint != null && crowned != null && endOfTurn != null)
        {
            return new MoveCommand(startPoint, finishPoint, killedCheckerPoint, crowned, endOfTurn);
        }
        else
            return null;
    }