Merge
diff --git a/.hgtags b/.hgtags
index dbbaec6..27b55eb 100644
--- a/.hgtags
+++ b/.hgtags
@@ -932,3 +932,17 @@
 5e9e2a958660fddff8a27bc567fc0dff9d86fefe jdk8u191-b10
 394de93b280cb1d578614788dc229299bd5d12a5 jdk8u191-b25
 f3f92df0a2947114b87b4a0934f7e8db7c7d274f jdk8u191-b11
+aee7802a04daf266caadc5742737bdd7d9a17937 jdk8u182-b00
+6412528c09e2af2f551b496f455eb2141f20d525 jdk8u192-b00
+db3c95ad833530ff6454cf47b9063325902bbb64 jdk8u192-b01
+b9b11d994f5cab7000f53a2a9cf8a15b2b3f23b1 jdk8u192-b02
+df7eda60d98d11b89fae1eb901899dd88d33ae58 jdk8u192-b03
+7031ed34a60400768d5136df03cbf8f05e6d9a6b jdk8u192-b04
+6c91965b2ac226596877ee0259f95f858638536e jdk8u192-b05
+9593cfca3186f7481627bda08b24e3a0a3f7bed4 jdk8u192-b06
+9c9b0bca2af1c2d66e5e72104ed949286566841f jdk8u192-b07
+08be6b057771844a619389a791b12bbaa2600879 jdk8u192-b08
+d00261f4b1f5b8332fc84bfbd0dd4c15f11ce8af jdk8u192-b09
+d1e08933590e00d9c074922dc13eb3fab8ca8a9d jdk8u192-b10
+baf29dda8fdc9ffd971e659ac44dbeb37ab98476 jdk8u192-b25
+3bf2d872627dbce9fcba73f64b7a158e67e5f46f jdk8u192-b11
diff --git a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
index bc38491..b49fead 100644
--- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
+++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/util/VisibleMemberMap.java
@@ -664,6 +664,9 @@
         // properties aren't named setA* or getA*
         private final Pattern pattern = Pattern.compile("[sg]et\\p{Upper}.*");
         private boolean isPropertyMethod(MethodDoc method) {
+            if (!configuration.javafx) {
+               return false;
+            }
             if (!method.name().endsWith("Property")) {
                 return false;
             }
@@ -675,7 +678,9 @@
             if (pattern.matcher(method.name()).matches()) {
                 return false;
             }
-
+            if (method.typeParameters().length > 0) {
+                return false;
+            }
             return 0 == method.parameters().length
                     && !"void".equals(method.returnType().simpleTypeName());
         }
diff --git a/test/com/sun/javadoc/testMethodEndingInProperty/Test.java b/test/com/sun/javadoc/testMethodEndingInProperty/Test.java
new file mode 100644
index 0000000..2d449da
--- /dev/null
+++ b/test/com/sun/javadoc/testMethodEndingInProperty/Test.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+public class Test {
+    public <T> Object fProperty() { return null; }
+}
diff --git a/test/com/sun/javadoc/testMethodEndingInProperty/TestMethodEndingInProperty.java b/test/com/sun/javadoc/testMethodEndingInProperty/TestMethodEndingInProperty.java
new file mode 100644
index 0000000..b3429aa
--- /dev/null
+++ b/test/com/sun/javadoc/testMethodEndingInProperty/TestMethodEndingInProperty.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8061305
+ * @summary Test methods ending in 'Property'
+ * @library ../lib/
+ * @build JavadocTester TestMethodEndingInProperty
+ * @run main TestMethodEndingInProperty
+ */
+
+public class TestMethodEndingInProperty extends JavadocTester {
+
+    private static final String BUG_ID = "8061305";
+    private static final String ERROR_OUTPUT = "com.sun.tools.doclets.formats.html.PropertyWriterImpl " +
+                                               "cannot be cast to " +
+                                               "com.sun.tools.doclets.formats.html.AbstractExecutableMemberWriter";
+
+    private static final String[] ARGS = new String[] {
+        "-d", BUG_ID, "-sourcepath", SRC_DIR, SRC_DIR + FS + "Test.java"
+    };
+
+    /**
+     * The entry point of the test.
+     * @param args the array of command line arguments.
+     */
+    public static void main(String[] args) {
+        TestMethodEndingInProperty tester = new TestMethodEndingInProperty();
+        int actual = tester.runJavadoc(ARGS);
+        int expected = 0;
+        tester.checkExitCode(expected, actual);
+        String errOut = tester.getErrorOutput();
+        if (errOut.contains(ERROR_OUTPUT)) {
+            throw new Error("Error output contained: " + ERROR_OUTPUT);
+        }
+        System.out.println("Test passed");
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getBugId() {
+        return BUG_ID;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getBugName() {
+        return getClass().getName();
+    }
+}