code: private int deleteFactoryMethod(JDefinedClass factoryClass, Candidate candidate) {
  		int deletedMethods = 0;
  
  		for (Iterator<JMethod> iter = factoryClass.methods().iterator(); iter.hasNext();) {
  			JMethod method = iter.next();
  
  			// Remove the methods:
  			// * public T createT() { return new T(); }
  			// * public JAXBElement<T> createT(T value) { return new JAXBElement<T>(QNAME, T.class, null, value); }
  			// * @XmlElementDecl(..., scope = X.class)
  			//   public JAXBElement<T> createT...(T value) { return new JAXBElement<...>(QNAME, T.class, X.class, value); }
  			if ((method.type() instanceof JDefinedClass
  			            && ((JDefinedClass) method.type()).isAssignableFrom(candidate.getClazz()))
  			            || isListedAsParametrisation(candidate.getClazz(), method.type())
  			            || candidate.getScopedElementInfos().containsKey(method.name())) {
  				writeSummary("\tRemoving factory method [" + method.type().fullName() + "#" + method.name()
  				            + "()] from " + factoryClass.fullName());
  				iter.remove();
  
  				deletedMethods++;
  			}
  		}
  
  		return deletedMethods;
  	}
docs: Remove method {@code ObjectFactory} that creates an object of a given {@code clazz}.
  
  @return {@code 1} if such method was successfully located and removed