Code Duplication    Length = 7-11 lines in 3 locations

src/Jms/Handler/XmlSchemaDateHandler.php 3 locations

@@ 70-76 (lines=7) @@
67
68
    }
69
70
    public function deserializeDateIntervalXml(XmlDeserializationVisitor $visitor, $data, array $type){
71
        $attributes = $data->attributes('xsi', true);
72
        if (isset($attributes['nil'][0]) && (string) $attributes['nil'][0] === 'true') {
73
            return null;
74
        }
75
        return new \DateInterval((string)$data);
76
    }
77
78
    public function serializeDate(XmlSerializationVisitor $visitor, \DateTime $date, array $type, Context $context)
79
    {
@@ 107-116 (lines=10) @@
104
        return $visitor->visitSimpleString($v, $type, $context);
105
    }
106
107
    public function deserializeDateTime(XmlDeserializationVisitor $visitor, $data, array $type)
108
    {
109
        $attributes = $data->attributes('xsi', true);
110
        if (isset($attributes['nil'][0]) && (string)$attributes['nil'][0] === 'true') {
111
            return null;
112
        }
113
114
        return $this->parseDateTime($data, $type);
115
116
    }
117
118
    public function serializeTime(XmlSerializationVisitor $visitor, \DateTime $date, array $type, Context $context)
119
    {
@@ 127-137 (lines=11) @@
124
        return $visitor->visitSimpleString($v, $type, $context);
125
    }
126
127
    public function deserializeTime(XmlDeserializationVisitor $visitor, $data, array $type)
128
    {
129
        $attributes = $data->attributes('xsi', true);
130
        if (isset($attributes['nil'][0]) && (string)$attributes['nil'][0] === 'true') {
131
            return null;
132
        }
133
134
        $data = (string)$data;
135
136
        return new \DateTime($data, $this->defaultTimezone);
137
    }
138
139
    private function parseDateTime($data, array $type)
140
    {