@Override
    public void startElement(String uri, String localName, String qName, Attributes attr) {
        switch (localName) {
            case TagConstants.ARTIFICIAL_FLOWER_TAG:
                int id = getID(attr.getValue(TagConstants.ID_ATTRIBUTE));
                currentFlower = new ArtificialFlower(id);
                break;
            case TagConstants.NATURAL_FLOWER_TAG:
                id = getID(attr.getValue(TagConstants.ID_ATTRIBUTE));
                currentFlower = new NaturalFlower(id);
                break;
            case TagConstants.CUT_FLOWER_TAG:
                id = getID(attr.getValue(TagConstants.ID_ATTRIBUTE));
                currentFlower = new CutFlower(id);
                break;
            case TagConstants.FLOWER_BASKET_TAG:
                id = getID(attr.getValue(TagConstants.ID_ATTRIBUTE));
                currentFlowerPackaging = new FlowerBasket(id);
                break;
            case TagConstants.PACKAGING_PAPER_TAG:
                id = getID(attr.getValue(TagConstants.ID_ATTRIBUTE));
                currentFlowerPackaging = new PackagingPaper(id);
                break;
            default:
                currentTag = localName;
        }
    }