StAX(JSR-173) を使用してXMLドキュメントを解析できます( XMLStreamReaderJavaSE6以降の実装はJDK/JREに含まれています)。次に、それを進めて各watermark要素に進み、 JAXB(JSR-222)にそれをアンマーシャリングさせることができます。
デモ
Watermarkクラスに注釈が付けられていると仮定すると@XmlRootElement、次のことができます。
import javax.xml.bind.*;
import javax.xml.stream.*;
import javax.xml.transform.stream.StreamSource;
public class Demo {
    public static void main(String[] args) throws Exception {
        JAXBContext jc = JAXBContext.newInstance(Watermark.class);
        Unmarshaller unmarshaller = jc.createUnmarshaller();
        StreamSource source = new StreamSource("input.xml");
        XMLInputFactory xif = XMLInputFactory.newFactory();
        XMLStreamReader xsr = xif.createXMLStreamReader(source);
        xsr.nextTag(); // Advance to "watermarks" element
        xsr.nextTag(); // Advance to "watermark" element
        while(xsr.getLocalName().equals("watermark")) {
             Watermark object = (Watermark) unmarshaller.unmarshal(xsr);
             System.out.println(object);
             xsr.nextTag();
        }
    }
}
完全な例
ジェネリックリストラッパークラス
以下の質問に対する私の回答では、役立つと思われる汎用リストラッパークラスの例を示しました。